master
xy 1 year ago
parent eb769ca299
commit bc7464d673

@ -5,7 +5,7 @@ ENV = 'development'
VUE_APP_BASE_API='https://cz-hjjc.115.langye.net'
VUE_APP_UPLOAD_API='https://cz-hjjc.115.langye.net/api/admin/upload-file'
VUE_APP_PREVIEW=//view.langye.net/preview/onlinePreview
VUE_APP_OUT_OLD = http://oa-sqhj-test.ali251.langye.net/admin
VUE_APP_OUT_URL = http://oa-sqhj-test.ali251.langye.net/admin
VUE_APP_OUT_OLD=https://cz-hjjc.115.langye.net/oa
VUE_APP_OUT_URL=https://cz-hjjc.115.langye.net/oa
VUE_APP_MODULE_NAME=ht

@ -5,7 +5,7 @@ ENV = 'production'
VUE_APP_BASE_API='https://cz-hjjc.115.langye.net'
VUE_APP_UPLOAD_API='https://cz-hjjc.115.langye.net/api/admin/upload-file'
VUE_APP_PREVIEW=//view.langye.net/preview/onlinePreview
VUE_APP_OUT_OLD = http://oa-sqhj-test.ali251.langye.net/admin
VUE_APP_OUT_URL = http://oa-sqhj-test.ali251.langye.net/admin
VUE_APP_OUT_OLD = https://cz-hjjc.115.langye.net/oa
VUE_APP_OUT_URL = https://cz-hjjc.115.langye.net/oa
VUE_APP_MODULE_NAME=ht

@ -3,7 +3,7 @@ import request from "@/utils/request";
export function getNotice(params,noLoading = false){
return request({
method:'get',
url:'/api/ht/notice/index',
url:'/api/notification/todo',
params,
noLoading
})

@ -1,5 +1,4 @@
import Vue from 'vue'
import { setToken } from '@/utils/auth'
import { getQueryParam } from '@/utils'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
@ -58,6 +57,11 @@ Vue.prototype.$integrateData = (target,value) => {
}
window.$router = router;
import { setToken,getToken } from "@/utils/auth"
if(window.top !== window.self) {
// 当前页面在iframe中
window._IN_IFRAME = true;
}
if (window.__POWERED_BY_WUJIE__) {
let instance;
window.__WUJIE_MOUNT = () => {
@ -74,40 +78,11 @@ if (window.__POWERED_BY_WUJIE__) {
window.__WUJIE_UNMOUNT = () => {
instance.$destroy();
};
}
else if(window.top !== window.self) {
if (window.top !== window.self) {
// 当前页面在iframe中
// 当前页面在iframe中
window._IN_IFRAME = true;
setToken(getQueryParam('auth_token'))
} else {
window.MODULE_NAME = getQueryParam('module_name')
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app")
router.push(getQueryParam('to') || '/')
// window._IN_IFRAME = true;
// window.addEventListener("message",function (e) {
// const { module_name, auth_token } = e.data;
// window.MODULE_NAME = module_name;
// console.log('token',auth_token)
// setToken(auth_token)
// new Vue({
// router,
// store,
// render: h => h(App)
// }).$mount("#app")
// router.push('/')
// })
}
}
else {
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app")
}

@ -3,7 +3,7 @@ import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import { getToken } from '@/utils/auth' // get token from cookie
import { getToken, setToken } from '@/utils/auth' // get token from cookie
import getPageTitle from '@/utils/get-page-title'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
@ -16,7 +16,9 @@ router.beforeEach(async(to, from, next) => {
// set page title
document.title = getPageTitle(to.meta.title)
if(to.query.auth_token) {
setToken(window.decodeURIComponent(to.query.auth_token))
}
// determine whether the user has logged in
const hasToken = getToken()
if (hasToken) {

@ -1,6 +1,6 @@
module.exports = {
title: '江苏省宿迁环境监测中心内控管理平台',
title: '内控管理平台',
/**
* @type {boolean} true | false

@ -83,7 +83,7 @@ export default {
})) : []
},
submit() {
this.detail.invite_status = 3;
this.detail.invite_status = 1;
this.detail.tender_id = this.fileList.map(i => i.response?.id)
editorContract(this.detail).then((res) => {
this.hide();

@ -389,123 +389,6 @@
{{ otherFlowBtn(scope.row.flow_mod_id) }}
</Button>
</template>
<!-- <template v-if="((scope.row.status === 2) ||-->
<!-- (!scope.row.is_contract && (scope.row.is_simple)) ||-->
<!-- ((scope.row.purchase_way && scope.row.purchase_way.value === '网上商城') && scope.row.purchase_status === 3) ) && scope.row.is_end === 0">-->
<!-- <template v-if="scope.row.is_assurance == 1 || (!scope.row.is_contract && scope.row.purchase_way && scope.row.purchase_way.value === '网上商城' && scope.row.purchase_status === 3)">-->
<!-- &lt;!&ndash; 如果是 履约文件&ndash;&gt;-->
<!-- <template v-if="scope.row.assurance_status == 1 || (!scope.row.is_contract && scope.row.purchase_way && scope.row.purchase_way.value === '网上商城' && scope.row.purchase_status === 3)">-->
<!-- &lt;!&ndash; 那么必须财务审核通过&ndash;&gt;-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="-->
<!-- $refs['paymentRegistration'].getContract(scope.row),-->
<!-- ($refs[-->
<!-- 'paymentRegistration'-->
<!-- ].isShowPaymentRegistration = true)-->
<!-- "-->
<!-- >-->
<!-- &lt;!&ndash; paying(scope.row) @click="$refs['paymentRegistration'].getContract(scope.row),$refs['paymentRegistration'].isShowPaymentRegistration = true"&ndash;&gt;-->
<!-- 付款登记-->
<!-- </Button>-->
<!-- </template>-->
<!-- </template>-->
<!-- <template v-else>-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="-->
<!-- $refs['paymentRegistration'].getContract(scope.row),-->
<!-- ($refs[-->
<!-- 'paymentRegistration'-->
<!-- ].isShowPaymentRegistration = true)-->
<!-- "-->
<!-- >-->
<!-- &lt;!&ndash; @click="$refs['paymentRegistration'].getContract(scope.row),$refs['paymentRegistration'].isShowPaymentRegistration = true"&ndash;&gt;-->
<!-- 付款登记-->
<!-- </Button>-->
<!-- </template>-->
<!-- </template>-->
<!-- <template-->
<!-- v-if="(scope.row.status === 1 && scope.row.join_status === 3 && !/contractLedger/g.test($route.path)) && (scope.row.is_contract && scope.row.purchase_way && scope.row.purchase_way.value !== '网上商城')"-->
<!-- >-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="-->
<!-- ($refs['contractSign'].isShow = true),-->
<!-- ($refs['contractSign'].contractId = scope.row.id)-->
<!-- "-->
<!-- >-->
<!-- 签订合同-->
<!-- </Button>-->
<!-- </template>-->
<!-- &lt;!&ndash; 采购完成 &ndash;&gt;-->
<!-- <template-->
<!-- v-if="-->
<!-- (scope.row.invite_status === 1 &&-->
<!-- scope.row.purchase_status === 3 &&-->
<!-- (scope.row.purchase_way-->
<!-- ? scope.row.purchase_way.remark === 'true'-->
<!-- : false) &&-->
<!-- !scope.row.is_substitute) && (scope.row.is_contract && scope.row.purchase_way && scope.row.purchase_way.value !== '网上商城')-->
<!-- "-->
<!-- >-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="-->
<!-- $refs['biddingUpload'].setId(scope.row.id),-->
<!-- $refs['biddingUpload'].show()-->
<!-- "-->
<!-- >招标审查</Button-->
<!-- >-->
<!-- </template>-->
<!-- &lt;!&ndash;不需要走采购流程那么直接就是会签如果采购方式不需要招标的也是直接会签&ndash;&gt;-->
<!-- <template-->
<!-- v-if="-->
<!-- ((scope.row.join_status === 1 &&-->
<!-- (scope.row.invite_status === 3 ||-->
<!-- ((scope.row.purchase_way-->
<!-- ? scope.row.purchase_way.remark === 'false'-->
<!-- : false) &&-->
<!-- scope.row.purchase_status === 3))) ||-->
<!-- (scope.row.is_substitute && scope.row.join_status === 1)) && (scope.row.is_contract && scope.row.purchase_way && scope.row.purchase_way.value !== '网上商城')-->
<!-- "-->
<!-- >-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="signProcess(scope.row)"-->
<!-- >合同审批-->
<!-- </Button>-->
<!-- </template>-->
<!-- <template-->
<!-- v-if="-->
<!-- scope.row.is_simple !== 1 &&-->
<!-- scope.row.purchase_status === 1 &&-->
<!-- ((scope.row.req_status === 3 && scope.row.is_plan === 0) ||-->
<!-- scope.row.is_plan === 1) &&-->
<!-- !scope.row.is_substitute-->
<!-- "-->
<!-- >-->
<!-- <Button-->
<!-- class="slot-btns-item"-->
<!-- size="small"-->
<!-- type="primary"-->
<!-- @click="buyProcess(scope.row)"-->
<!-- >采购流程-->
<!-- </Button>-->
<!-- </template>-->
<Poptip trigger="hover" placement="bottom" transfer>
<Button ghost size="small" type="primary">更多</Button>
@ -605,371 +488,6 @@
/>
</div>
<!-- 新增合同 -->
<xy-dialog
ref="addContract"
:form="form"
:is-show.sync="isShowAdd"
:rules="rules"
title="新增采购事项"
type="form"
@submit="submit"
>
<template v-slot:name>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>项目名称
</div>
<div class="xy-table-item-content">
<el-input
v-model="form.name"
@change="checkName"
placeholder="请填写项目名称"
style="width: 300px"
/>
</div>
</div>
</template>
<template #flow_mod_id>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>采购流程
</div>
<div class="xy-table-item-content">
<div style="display: flex; width: 300px; align-items: center">
<el-select style="width: 300px;" v-model="form.flow_mod_id">
<el-option v-for="item in flowIds" :value="item.id" :label="item.name"></el-option>
</el-select>
</div>
</div>
</div>
</template>
<template v-slot:is_contract>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>是否需要签订合同
</div>
<div class="xy-table-item-content">
<div style="display: flex; width: 300px; align-items: center">
<el-switch
v-model="form.is_contract"
active-text="是"
inactive-text="否"
:active-value="1"
:inactive-value="0"
/>
</div>
</div>
</div>
</template>
<template v-slot:is_simple>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*是否为简易流程</span
>
</div>
<div class="xy-table-item-content">
<div style="display: flex; width: 300px; align-items: center">
<el-switch
v-model="form.is_simple"
active-text="是"
inactive-text="否"
:active-value="1"
:inactive-value="0"
/>
<div style="flex: 1; text-align: right">
水电煤等费用付款
</div>
</div>
</div>
</div>
</template>
<template v-slot:supply v-if="form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span
style="
color: red;
font-weight: 600;
padding-right: 4px;
font-size: 11px;
"
>*</span
>承包商/供货商
</div>
<div class="xy-table-item-content">
<el-input
v-model="form.supply"
placeholder="请填写承包商/供货商"
style="width: 300px"
/>
</div>
</div>
</template>
<template v-slot:money v-if="form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span
style="
color: red;
font-weight: 600;
padding-right: 4px;
font-size: 11px;
"
>*</span
>合同金额
</div>
<div class="xy-table-item-content">
<el-input
v-model="form.money"
placeholder="请填写合同金额"
style="width: 300px"
/>
</div>
</div>
</template>
<template v-slot:type v-if="!form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>项目类型
</div>
<div class="xy-table-item-content">
<el-select
v-model="form.type"
placeholder="请选择项目类型"
style="width: 300px"
>
<el-option
v-for="item in type"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:methods v-if="!form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>采购形式
</div>
<div class="xy-table-item-content">
<el-select
ref="methodInput"
v-model="form.methods"
placeholder="请选择采购形式"
style="width: 300px"
@change="showIsFramework"
>
<el-option
v-for="item in purchaseType"
:label="item.value"
:value="item.id"
></el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:modality v-if="!form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>采购类型
</div>
<div class="xy-table-item-content">
<el-select
v-model="form.modality"
placeholder="请选择采购类型"
style="width: 300px"
>
<el-option
v-for="item in purchaseWayFormat()"
:label="item.value"
:value="item.id"
></el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:price v-if="!form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>采购预算价
</div>
<div class="xy-table-item-content xy-table-item-price">
<el-input
v-model="form.price"
placeholder="请填写采购预算价"
style="width: 300px"
/>
</div>
</div>
</template>
<template v-slot:fundingChannels>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>资金渠道
</div>
<div class="xy-table-item-content">
<el-select
v-model="form.fundingChannels"
multiple
placeholder="请选择资金渠道"
style="width: 300px"
>
<el-option
v-for="item in moneyWay"
:label="item.value"
:value="item.id"
></el-option>
</el-select>
</div>
</div>
</template>
<!-- <template v-slot:isBudget>-->
<!-- <div class="xy-table-item">-->
<!-- <div class="xy-table-item-label" style="width: 200px">-->
<!-- <span style="color: red; font-weight: 600; padding-right: 4px"-->
<!-- >*</span-->
<!-- >是否为预算内确定项目-->
<!-- </div>-->
<!-- <div class="xy-table-item-content">-->
<!-- <el-switch v-model="form.isBudget" />-->
<!-- </div>-->
<!-- </div>-->
<!-- </template>-->
<template v-slot:is_substitute v-if="!form.is_simple">
<div class="xy-table-item">
<div class="xy-table-item-label" style="width: 200px">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>是否为代建项目
</div>
<div class="xy-table-item-content">
<el-switch
v-model="form.is_substitute"
active-text="是"
inactive-text="否"
:active-value="1"
:inactive-value="0"
/>
</div>
</div>
</template>
<template v-slot:is_framework v-if="isShowIsFramework">
<div class="xy-table-item">
<div class="xy-table-item-label" style="width: 200px">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>是否新生成框架协议
</div>
<div class="xy-table-item-content">
<el-switch
v-model="form.is_framework"
active-text="是"
inactive-text="否"
:active-value="1"
:inactive-value="0"
/>
</div>
</div>
</template>
<template v-slot:use_framework_buy>
<div class="xy-table-item">
<div class="xy-table-item-label" style="width: 200px">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>是否使用框架协议采购内容
</div>
<div class="xy-table-item-content">
<el-switch
v-model="form.use_framework_buy"
active-text="是"
inactive-text="否"
:active-value="1"
:inactive-value="0"
@change="showIsFramework"
/>
</div>
</div>
</template>
<template v-slot:contract_to_contracts v-if="form.use_framework_buy">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>关联的框架协议合同
</div>
<div class="xy-table-item-content">
<div
class="contract-add-plan"
style="width: 300px"
@click="isShowContractToContracts = true"
>
<template v-if="selections.length > 0">
<template v-for="item in selections">
<Tag
closable
color="primary"
@on-close="delSelections(item)"
>{{ item.name }}</Tag
>
</template>
</template>
<template v-else>
<div class="contract-add-plan-no-plan">
请选择关联的框架协议合同
</div>
</template>
</div>
</div>
</div>
</template>
<template v-slot:plan>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red; font-weight: 600; padding-right: 4px"
>*</span
>关联预算计划
</div>
<div class="xy-table-item-content">
<div
class="contract-add-plan"
style="width: 300px"
@click="showPlan"
>
<template v-if="form.plan.length > 0">
<template v-for="item in form.plan">
<Tag closable color="primary" @on-close="delPlan(item)">{{
item.label
}}</Tag>
</template>
</template>
<template v-else>
<div class="contract-add-plan-no-plan">请选择关联计划</div>
</template>
</div>
</div>
</div>
</template>
</xy-dialog>
<!-- 搜索使用 预算计划 -->
<xy-dialog
:is-show.sync="isShowPlanForSearch"
@ -1176,6 +694,21 @@
<oaFiles ref="oaFiles"></oaFiles>
<addContractLedger ref="addContractLedger" @refresh="getContracts"></addContractLedger>
<!-- oa办理-->
<Modal
:width="86"
class-name="oa-modal"
title="流程办理"
fullscreen
:mask-closable="false"
v-model="isShowOaModal"
footer-hide
>
<div style="width: 100%;height: 100%;">
<iframe style="width: 100%;height: 100%;border-radius: 0 0 6px 6px;" :src="oaUrl" frameborder="0"></iframe>
</div>
</Modal>
</div>
</template>
@ -1304,6 +837,8 @@ export default {
};
return {
isShowOaModal: false,
oaUrl: "",
//
flowIds: [
{
@ -1602,16 +1137,18 @@ export default {
}
],
flowStatus: new Map([
[0, "-"],
[1, "待申请"],
[2, "流转中"],
[3, "已办结"]
[2, "待申请"],
[-1, "已退回"],
[-2, "-"],
[0, "流转中"],
[1, "已办结"]
]),
flowStatusColor: new Map([
[0, "rgb(140, 140, 140)"],
[1, "rgb(96, 109, 241)"],
[2, "rgb(219, 122, 122)"],
[3, "rgb(147, 201, 134)"]
[-2, "rgb(140, 140, 140)"],
[-1, "#dca550"],
[2, "rgb(96, 109, 241)"],
[0, "rgb(219, 122, 122)"],
[1, "rgb(147, 201, 134)"]
]),
table: [
{
@ -1691,15 +1228,12 @@ export default {
width: 158,
prop: "purchase_status",
customFn:row => {
if (!row.FLOWSTATUS.caigou.getStatus()) {
return (<span style="color: rgb(140, 140, 140)"></span>);
}
return (
<div>
<span style={{ 'color': this.flowStatusColor.get(row.FLOWSTATUS.caigou.getStatus()) }}>{ this.flowStatus.get(row.FLOWSTATUS.caigou.getStatus()) }</span>
<span style={{ 'color': this.flowStatusColor.get(row.FLOWSTATUS.caigou.getStatus()) }}>{ this.flowStatus.get(row.FLOWSTATUS.caigou.getStatus()) || '无2' }</span>
<br/>
{
(row.FLOWSTATUS.caigou.getStatus() > 1) ? <a style="color: #333" on={{['click']:()=>this.toOaDetail('caigou',row)}}>查看</a> : ''
(row.FLOWSTATUS.caigou.getStatus() !== 2 && row.FLOWSTATUS.caigou.getStatus() !== -2) ? <a style="color: #333" on={{['click']:()=>this.toOaDetail('caigou',row)}}>查看</a> : ''
}
</div>
)
@ -1718,7 +1252,7 @@ export default {
<span style={{ 'color': this.flowStatusColor.get(row.FLOWSTATUS.zhaobiao.getStatus()) }}>{ this.flowStatus.get(row.FLOWSTATUS.zhaobiao.getStatus()) }</span>
<br/>
{
(row.FLOWSTATUS.zhaobiao.getStatus() > 1) ? <a style="color: #333" on={{['click']:()=>{
(row.FLOWSTATUS.zhaobiao.getStatus() !== 2 && row.FLOWSTATUS.zhaobiao.getStatus() !== -2) ? <a style="color: #333" on={{['click']:()=>{
this.$refs['biddingUpload'].setId(row.id)
this.$refs['biddingUpload'].show()
}}}>查看</a> : ''
@ -2209,10 +1743,13 @@ export default {
})
},
async toOaDetail (tbname,row) {
let url = `${process.env.VUE_APP_OUT_URL}/flow/view/`
let url = `${process.env.VUE_APP_OUT_URL}/#/flow/detail?auth_token=${window.encodeURIComponent(getToken())}&isSinglePage=1&flow_id=`
//let url = `${process.env.VUE_APP_OUT_URL}?auth_token=${window.encodeURIComponent(getToken())}&module_name=oa&isSinglePage=1&`
switch (tbname) {
case "caigou":
url += row.purchase_last_flow_id
let caigou = row.flow_list.find(i => i.tag === 'caigou')?.detail
//url += `&to=/flow/detail?flow_id=${caigou.id}`
url += caigou?.id
break;
case "hetong":
url += row.join_last_flow_id
@ -2223,11 +1760,8 @@ export default {
default:
url = `${process.env.VUE_APP_OUT_URL}/flow/list/todo`
}
window.open(
url,
"detail",
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
);
this.oaUrl = url
this.isShowOaModal = true
},
reset () {
this.select = deepCopy(this.selectCopy)
@ -2356,56 +1890,50 @@ export default {
}
break;
case 29:
case 19:
case 71:
baseInfo = {
"flow_title": row.name || "",
"65852a58c7bad": row.name || "",
"65852ae259b09": this.purchaseWay.find(i => i.id === row.purchase_way_id)?.value || "",
"65852ba4697e7": row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"") || "",
"65852bd7afd2f": row.plan_price || "",
"65852bc914b8d": row.plan_price || "",
"65852c08d98f5": row.content || "",
"65852a7d0c9b4": this.groupType.find(i => i.id === row.group_type)?.value || "",
"caigouxiangmu": row.name || "",
"caigoufangshi": this.purchaseWay.find(i => i.id === row.purchase_way_id)?.value || "",
"zijinlaiyuan": row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"") || "",
"caigoujine": row.plan_price || "",
"caigouxiangmushuoming": row.content || "",
"zuzhixingshi": this.groupType.find(i => i.id === row.group_type)?.value || "",
"caigouxingshi": row.purchase_type.value
}
break;
default:
baseInfo = {
"flow_title": row.name || ""
}
}
// let res = await getOatoken()
let url = `${process.env.VUE_APP_OUT_OLD}/flow/create/${row.flow_mod_id}?auth_token=${this.$store.getters.oa_token}&out_contract_id=${
row.id
}&default_json=${JSON.stringify(baseInfo)}`;
let url = `${process.env.VUE_APP_OUT_OLD}/#/flow/create?auth_token=${window.encodeURIComponent(getToken())}&module_name=oa&isSinglePage=1&module_id=${row.flow_mod_id}&out_contract_id=${row.id}&default_json=${JSON.stringify(baseInfo)}`;
console.log('url',url)
let buyProcess = window.open(
url,
"buyProcess",
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
);
// let buyProcess = window.open(
// url,
// "buyProcess",
// `top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
// );
this.oaUrl = url
this.isShowOaModal = true
},
//
async signProcess(row) {
// 72
this.setNowContract(row, "hetong");
let baseInfo = {
"flow_title": row.name || "",
"65b37d8c6a94c": row?.name,
"658a6bc82d0b2": Number(row?.money) || row?.plan_price,
"hetongmingcheng": row?.name,
"amt": Number(row?.money) || row?.plan_price,
out_contract_id: row.id,
"658a6c125e4e6": row.content,
"658a6c009002e": row.supply
//"\\":row.supply
"zhuyaoneirong": row.content,
"jiafang": row.supply
};
// let res = await getOatoken()
let url = `${process.env.VUE_APP_OUT_OLD}/flow/create/20?&auth_token=${this.$store.getters.oa_token}&out_contract_id=${
row.id
}&default_json=${JSON.stringify(baseInfo)}`;
let signProcess = window.open(
url,
"signProcess",
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
);
let url = `${process.env.VUE_APP_OUT_OLD}/#/flow/create?auth_token=${window.encodeURIComponent(getToken())}&module_name=oa&isSinglePage=1&module_id=72&out_contract_id=${row.id}&default_json=${JSON.stringify(baseInfo)}`;
this.oaUrl = url;
this.isShowOaModal = true;
},
//
async paying(row) {
@ -2583,6 +2111,7 @@ export default {
res.list.data.forEach(i => this.handleContractFlow(i))
this.list = res.list.data;
console.log(this.list)
this.total = res.list.total;
this.tableTotal.fundLogTotal = res.fund_log_total;
this.tableTotal.moneyTotal = Number(res.money_total)
@ -2822,7 +2351,7 @@ export default {
class Flow {
status = 0
executable = false
constructor(status=0, executable=false) {
constructor(status=-2, executable=false) {
this.status = status
this.executable = executable
}
@ -2838,10 +2367,14 @@ export default {
return this.status
}
isEnabled () {
return this.executable && (this.status === 1 || this.status === "")
return this.executable && (this.status === 2 || this.status === "")
}
}
//012312
// [2, ""],
// [-1, "退"],
// [-2, "-"],
// [0, ""],
// [1, ""]
let flowStatus = {
"caigou": new Flow(),
"zhaobiao": new Flow(),
@ -2850,40 +2383,40 @@ export default {
"zhifu": new Flow(),
"other": new Flow()
}
const caigou = item.flow_list.find(i => i.tag === 'caigou')?.detail
const shenpi = item.flow_list.find(i => i.tag === 'contract')?.detail
if (item.is_purchase) {
//
if (item.is_simple !== 1 && !item.is_substitute) {
//
flowStatus["caigou"].setStatus(item.purchase_status)
if (item.purchase_status === 1) {
flowStatus["caigou"].setStatus(caigou?.status ?? 2)
if (!caigou) {
//
if (item.is_plan === 1 || (item.is_plan === 0 && item.req_status === 3)) {
//
if (item.is_plan === 1) {
flowStatus["caigou"].setExecutable(true)
}
}
}
if (item.purchase_way?.value !== '网上商城' && item.is_contract && item.purchase_way?.remark === 'true' && !item.is_substitute) {
// \
flowStatus["zhaobiao"].setStatus(item.invite_status)
if (item.invite_status === 1 && item.purchase_status === 3) {
flowStatus["zhaobiao"].setStatus(item.invite_status ?? 2)
if ((!item.invite_status || item.invite_status === 2) && caigou?.status === 1) {
//
flowStatus["zhaobiao"].setExecutable(true)
}
}
if (item.is_contract && item.purchase_way?.value !== "网上商城") {
//
flowStatus["shenpi"].setStatus(item.join_status)
if (item.join_status === 1 && (item.invite_status === 3 ||
((item.purchase_way?.remark === 'false' || item.flow_mod_id === 5 || item.flow_mod_id === 29) && item.purchase_status === 3))) {
flowStatus["shenpi"].setStatus(shenpi?.status ?? 2)
if ((!shenpi?.status || shenpi?.status === 2) && (item.invite_status === 1 ||
((item.purchase_way?.remark === 'false' || item.flow_mod_id === 5 || item.flow_mod_id === 29) && caigou?.status === 1))) {
//
flowStatus["shenpi"].setExecutable(true)
}
}
if (item.is_contract && item.purchase_way?.value !== "网上商城" && !item.is_substitute) {
flowStatus["qianding"].setStatus(item.status)
if (item.join_status === 3 && item.status === 1) {
if (shenpi?.status === 1 && item.status === 1) {
flowStatus["qianding"].setExecutable(true)
}
}
@ -3074,3 +2607,14 @@ a:hover {
text-decoration: underline;
}
</style>
<style lang="scss">
.oa-modal {
.ivu-modal-body {
max-height: calc(100vh - 51px)!important;
padding: 0 !important;
overflow: hidden;
}
}
</style>

@ -191,7 +191,7 @@
</el-col>
</el-row>
<div class="demo-split" v-if="allowAuth">
<div class="demo-split">
<Split v-model="split" style="height: 440px">
<template #left>
<div class="demo-split-pane" style="padding-right: 5px">
@ -786,9 +786,10 @@ export default {
const resTotal = await Promise.all([statisticProgress(this.select),statisticType(this.select),statisticDepartment(this.select)]);
this.statistic = {
progress: resTotal[0].progress,
departmentList: resTotal[1].departmentList,
typeList: resTotal[2].typeList
typeList: resTotal[1].typeList,
departmentList: resTotal[2].departmentList
};
console.log(3333,this.statistic)
let m2 = this.statistic.progress.money_total_2;
let m1 = this.statistic.progress.money_total_1;
var user_m = this.statistic.progress.use_money_total;
@ -846,6 +847,7 @@ export default {
const res = await getNotice({
page_size: 10,
page: this.pageIndex,
from: 'ht'
});
this.list = res.data;
this.total = res.total;

Loading…
Cancel
Save