web-base-admin/src/views/dashboard/details.vue

1502 lines
54 KiB
Vue
Raw Normal View History

2025-03-23 09:18:42 +08:00
<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2023-03-20 11:12:13
-->
<template>
<div class="page">
<div class="prin">
<el-button type="primary" v-if="isPrint" @click="toPrint">打印</el-button>
</div>
<div class="main">
<div class="thetable">
<div id="print">
2025-04-01 23:46:26 +08:00
<div class="fontTitle">{{ '在线签呈' }}</div>
2025-03-23 09:18:42 +08:00
<div class="titleflex">
<div style="white-space: nowrap">
2025-04-01 23:46:26 +08:00
{{ '编号' }}:{{ qcData.approvalCode }}
2025-03-23 09:18:42 +08:00
</div>
<div>
<el-radio-group v-model="qcData.signType" :disabled="true">
<el-radio
:label="item.value"
v-for="item in checkList"
:key="item.value"
>{{ item.label }}</el-radio
>
</el-radio-group>
</div>
</div>
<table id="tfhover" class="tftable" border="1">
<tr>
<td colspan="1" width="190px" align="center">
2025-04-01 23:46:26 +08:00
{{ '发起部门' }} :
2025-03-23 09:18:42 +08:00
</td>
<td colspan="1" width="435px">{{ qcData.deptName }}</td>
<td colspan="1" width="140px" align="center">
2025-04-01 23:46:26 +08:00
{{ '发起人' }} :
2025-03-23 09:18:42 +08:00
</td>
<td colspan="1">{{ qcData.userName }}</td>
</tr>
<tr>
2025-04-01 23:46:26 +08:00
<td colspan="1" align="center">{{ '主旨' }} :</td>
2025-03-23 09:18:42 +08:00
<td colspan="1">
{{ qcData.approvalBusinessVal
}}{{ qcData.controlTypeVal || "" }}
</td>
2025-04-01 23:46:26 +08:00
<td colspan="1" align="center">{{ '日期' }} :</td>
2025-03-23 09:18:42 +08:00
<td colspan="1">{{ qcData.creationTime }}</td>
</tr>
<tr>
2025-04-01 23:46:26 +08:00
<td colspan="1" align="center">{{ '审批流程' }}</td>
2025-03-23 09:18:42 +08:00
<td colspan="3">
<span
style="margin-right: 20px"
v-for="(item, index) in qcData.detailList"
:key="index"
>{{ item.approver }}({{ item.approverDept }})</span
>
</td>
</tr>
<tr>
2025-04-01 23:46:26 +08:00
<td colspan="1" align="center">{{ '抄送人' }}</td>
2025-03-23 09:18:42 +08:00
<td colspan="3">
{{ qcData.sendStr }}
</td>
</tr>
<tr>
2025-04-01 23:46:26 +08:00
<td style="height: 190px" align="center">{{ '情况说明' }}</td>
2025-03-23 09:18:42 +08:00
<td colspan="3" style="padding: 0">
<div>
<!-- <span>{{ qcData.remark }}</span> -->
<noImgEditor v-model="qcData.remark" :min-height="190" />
<!-- <el-input type="textarea"
resize="none"
:rows="6"
2025-04-01 23:46:26 +08:00
:placeholder="'请输入'"
2025-03-23 09:18:42 +08:00
v-model="qcData.remark">
</el-input> -->
</div>
</td>
</tr>
<tr
style="min-height: 193px"
v-if="directData.approvalBusiness != 0"
>
2025-04-01 23:46:26 +08:00
<td style="" align="center">{{ '业务诉求' }}</td>
2025-03-23 09:18:42 +08:00
<td
colspan="3"
style="padding: 0; min-height: 193px; vertical-align: top"
>
<div>
<el-table
:data="qcData.businessData"
style="width: 100%; min-height: 193px"
:header-cell-style="{ background: '#EEEEEE' }"
>
<template v-if="directData.approvalBusiness == 300">
<el-table-column
align="center"
prop="memberCode"
2025-04-01 23:46:26 +08:00
:label="'会员编号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="memberName"
2025-04-01 23:46:26 +08:00
:label="'会员姓名'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="paymentMethod"
2025-04-01 23:46:26 +08:00
:label="'交款方式'"
2025-03-23 09:18:42 +08:00
min-width="80px"
>
<template slot-scope="scope">
<el-select
clearable
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
disabled
v-model="scope.row.paymentMethod"
>
<el-option
v-for="item in paymentTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
min-width="50px"
v-for="(item, index) in enumsAccountList"
:key="index"
align="center"
:prop="`${item.pkId}`"
:label="item.pkTransactionKeyVal"
>
<template slot-scope="scope">
<span>{{
scope.row.rechargeDetailMap[`${item.pkId}`]
| numberToCurrency
}}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="memberRemarks"
2025-04-01 23:46:26 +08:00
:label="'备注(前台)'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="remarks"
2025-04-01 23:46:26 +08:00
:label="'备注(后台)'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
</template>
<template v-if="directData.approvalBusiness == 254">
<el-table-column
align="center"
prop="orderCode"
2025-04-01 23:46:26 +08:00
:label="'订单编号'"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.newOrder.orderCode }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAmount"
2025-04-01 23:46:26 +08:00
:label="'金额'"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.newOrder.orderAmount }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAchieve"
2025-04-01 23:46:26 +08:00
:label="`${'业绩'}($)`"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.newOrder.orderAchieve }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAssAchieve"
label="BV"
>
<template slot-scope="scope">
{{ scope.row.newOrder.orderAssAchieve }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderCode"
label="抵扣订单编号"
>
<template slot-scope="scope">
{{ scope.row.oldOrder.orderCode }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAmount"
2025-04-01 23:46:26 +08:00
:label="'金额'"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.oldOrder.orderAmount }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAchieve"
2025-04-01 23:46:26 +08:00
:label="`${'业绩'}($)`"
2025-03-23 09:18:42 +08:00
>
<template slot-scope="scope">
{{ scope.row.oldOrder.orderAchieve }}
</template>
</el-table-column>
<el-table-column
align="center"
prop="orderAssAchieve"
label="BV"
>
<template slot-scope="scope">
{{ scope.row.oldOrder.orderAssAchieve }}
</template>
</el-table-column>
</template>
<template v-else>
<el-table-column
v-for="item in tableColumn"
:key="item.value"
align="center"
:prop="item.value"
:label="item.label"
>
<template slot-scope="scope">
<div v-if="item.value == 'content'">
<el-popover placement="top-start" trigger="hover">
<div v-html="scope.row.content"></div>
<div
slot="reference"
style="color: #589ff8; cursor: pointer"
>
2025-04-01 23:46:26 +08:00
{{ '查看' }}
2025-03-23 09:18:42 +08:00
</div>
</el-popover>
</div>
<div v-else-if="item.value == 'legalCardFront'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardFront"
:preview-src-list="[scope.row.legalCardFront]"
>
</el-image>
</div>
<div v-else-if="item.value == 'legalCardBack'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.legalCardBack"
:preview-src-list="[scope.row.legalCardBack]"
>
</el-image>
</div>
<div v-else-if="item.value == 'license'">
<el-image
style="width: 100px; height: 100px"
:src="scope.row.license"
:preview-src-list="[scope.row.license]"
>
</el-image>
</div>
<div v-else-if="item.value == 'storeAgreementList'">
<el-image
v-for="(stem, sndex) in scope.row
.storeAgreementList"
:key="sndex"
style="width: 100px; height: 100px"
:src="stem"
:preview-src-list="scope.row.storeAgreementList"
>
</el-image>
</div>
<div v-else-if="item.value == 'deductMoney'">
<div>{{ scope.row.deductMoney }}%</div>
</div>
<div v-else-if="item.value == 'cover'">
<img class="cover" :src="scope.row.cover" alt="" />
</div>
<div v-else-if="item.value == 'jsVal'">
<div
v-for="ctem in scope.row.noticeGradeVOList"
:key="ctem.gradeKey"
>
{{ ctem.gradeKeyVal }}
</div>
</div>
<div v-else-if="item.value == 'zsVal'">
<div
v-for="ctem in scope.row.awardsVOList"
:key="ctem.awardKey"
>
{{ ctem.awardKeyVal }}
</div>
</div>
<div v-else-if="item.value == 'fbVal'">
<div
v-for="ctem in scope.row.locationVOList"
:key="ctem.locationKey"
>
{{ ctem.locationKeyVal }}
</div>
</div>
<div v-else-if="item.value == 'time'">
<div>
{{ scope.row.startTime }}-{{ scope.row.endTime }}
</div>
</div>
<div v-else-if="item.value == 'idFront'">
<el-popover placement="top-start" trigger="hover">
<div class="qcImg">
<img :src="scope.row.idFront" alt="" />
<img :src="scope.row.idBack" alt="" />
</div>
<div slot="reference" style="color: #589ff8">
2025-04-01 23:46:26 +08:00
{{ '查看' }}
2025-03-23 09:18:42 +08:00
</div>
</el-popover>
</div>
<div v-else-if="item.value == 'changeIdFront'">
<el-popover placement="top-start" trigger="hover">
<div class="qcImg">
<img :src="scope.row.changeIdFront" alt="" />
<img :src="scope.row.changeIdBack" alt="" />
</div>
<div slot="reference" style="color: #589ff8">
2025-04-01 23:46:26 +08:00
{{ '查看' }}
2025-03-23 09:18:42 +08:00
</div>
</el-popover>
</div>
<div v-else-if="item.value == 'aptitude1'">
<div>
<a
:href="scope.row.aptitude1"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude1 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude2'">
<div>
<a
:href="scope.row.aptitude2"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude2 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude3'">
<div>
<a
:href="scope.row.aptitude3"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude3 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude4'">
<div>
<a
:href="scope.row.aptitude4"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude4 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude5'">
<div>
<a
:href="scope.row.aptitude5"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude5 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude6'">
<div>
<a
:href="scope.row.aptitude6"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude6 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude7'">
<div>
<a
:href="scope.row.aptitude7"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude7 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'aptitude8'">
<div>
<a
:href="scope.row.aptitude8"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.aptitude8 }}</a
>
</div>
</div>
<div v-else-if="item.value == 'certificate'">
<div>
<a
:href="scope.row.certificate"
target="_blank"
style="
cursor: pointer;
color: blue;
text-decoration: underline;
"
>{{ scope.row.certificate }}</a
>
</div>
</div>
<!-- 直推赠送 -->
<div
v-else-if="item.value == 'actExplain'"
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="toDirectDetails"
>
2025-04-01 23:46:26 +08:00
{{ '查看详情' }}
2025-03-23 09:18:42 +08:00
</div>
<div
v-else-if="item.value == 'action'"
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details"
>
2025-04-01 23:46:26 +08:00
{{ '查看详情' }}
2025-03-23 09:18:42 +08:00
</div>
<div
v-else-if="
item.value == 'action1' &&
scope.row.signSource != 1
"
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="details1(scope.row)"
>
查看详情
</div>
<div v-else-if="item.value == 'oldItemDz'">
<div>
2025-04-01 23:46:26 +08:00
{{ '收货人' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.oldItemDz.recName
}}
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货电话' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.oldItemDz.recPhone
}}
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货地址' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.oldItemDz.nameList
}}{{ scope.row.oldItemDz.recAddress }}
</div>
</div>
<div v-else-if="item.value == 'newItemDz'">
<div>
2025-04-01 23:46:26 +08:00
{{ '收货人' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.newItemDz.recName
}}
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货电话' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.newItemDz.recPhone
}}
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货地址' }}:{{
2025-03-23 09:18:42 +08:00
scope.row.newItemDz.nameList
}}{{ scope.row.newItemDz.recAddress }}
</div>
</div>
<div v-else-if="item.value == 'oldItem'">
<div v-for="(ctem, cndex) in scope.row.oldItemList">
<div>名称:{{ ctem.productName }}</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '编号' }}:{{ ctem.productCode }}
2025-03-23 09:18:42 +08:00
</div>
2025-04-01 23:46:26 +08:00
<div>{{ '规格' }}:{{ ctem.specsName }}</div>
<div>{{ '数量' }}:{{ ctem.quantity }}</div>
<div>{{ '价格' }}():{{ ctem.price }}</div>
2025-03-23 09:18:42 +08:00
<div>
2025-04-01 23:46:26 +08:00
{{ '业绩' }}({{ isLocals() }}):{{
2025-03-23 09:18:42 +08:00
ctem.achievement
}}
</div>
<div style="margin-bottom: 10px">
是否赠品:{{ ctem.isGiftVal }}
</div>
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '邮费' }}:{{ scope.row.oldPostage }}
2025-03-23 09:18:42 +08:00
</div>
</div>
<div v-else-if="item.value == 'newItem'">
<div v-for="(ctem, cndex) in scope.row.newItemList">
<div>名称:{{ ctem.productName }}</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '编号' }}:{{ ctem.productCode }}
2025-03-23 09:18:42 +08:00
</div>
2025-04-01 23:46:26 +08:00
<div>{{ '规格' }}:{{ ctem.specsName }}</div>
2025-03-23 09:18:42 +08:00
<div>数量:{{ ctem.quantity }}</div>
2025-04-01 23:46:26 +08:00
<div>{{ '价格' }}():{{ ctem.price }}</div>
2025-03-23 09:18:42 +08:00
<div>
2025-04-01 23:46:26 +08:00
{{ '业绩' }}({{ isLocals() }}):{{
2025-03-23 09:18:42 +08:00
ctem.achievement
}}
</div>
<div style="margin-bottom: 10px">
是否赠品:{{ ctem.isGiftVal }}
</div>
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '邮费' }}:{{ scope.row.newPostage }}
2025-03-23 09:18:42 +08:00
</div>
</div>
<div v-else-if="item.value == 'zzoldItemAddress'">
<div>
2025-04-01 23:46:26 +08:00
{{ '收货人' }}:{{ scope.row.recName }}
2025-03-23 09:18:42 +08:00
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货电话' }}:{{ scope.row.recPhone }}
2025-03-23 09:18:42 +08:00
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货地址' }}:{{ scope.row.recAddress }}
2025-03-23 09:18:42 +08:00
</div>
</div>
<div v-else-if="item.value == 'zznewItemAddress'">
<div>
2025-04-01 23:46:26 +08:00
{{ '收货人' }}:{{ scope.row.newRecName }}
2025-03-23 09:18:42 +08:00
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货电话' }}:{{ scope.row.newRecPhone }}
2025-03-23 09:18:42 +08:00
</div>
<div>
2025-04-01 23:46:26 +08:00
{{ '收货地址' }}:{{ scope.row.newRecAddress }}
2025-03-23 09:18:42 +08:00
</div>
</div>
<div
v-else-if="item.value == 'more'"
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
@click="toDetails"
>
查看详情
</div>
<div v-else-if="item.value == 'licenseImage'">
<el-image
style="width: 100px; height: 50px"
:src="scope.row[item.value]"
:preview-src-list="[scope.row[item.value]]"
>
</el-image>
</div>
<div
v-else-if="
item.value == 'productName' &&
directData.approvalBusiness == 235
"
>
<div
v-for="item in scope.row.cancelItemsList"
:key="item.pkId"
>
{{ item.productName }}
</div>
</div>
<div v-else-if="item.value == 'batchCode'">
<div v-for="stem in scope.row.scmReturnbVoList">
{{ stem.batchCode }}
</div>
</div>
<div
v-else-if="
item.value == 'productName' &&
(directData.approvalBusiness == 800 ||
directData.approvalBusiness == 801 ||
directData.approvalBusiness == 804 ||
directData.approvalBusiness == 807)
"
>
<div v-for="stem in scope.row.billDtoList">
{{ stem.productName }}
</div>
</div>
<div v-else>{{ scope.row[item.value] }}</div>
</template>
</el-table-column>
</template>
</el-table>
</div>
</td>
</tr>
<tr v-if="qcData.filePathList">
<td style="height: 158px" align="center">
2025-04-01 23:46:26 +08:00
{{ '附件' }}
2025-03-23 09:18:42 +08:00
</td>
<td colspan="3" style="padding: 0">
<div
v-if="qcData.imgList.length > 0"
class="fj"
v-for="(item, index) in qcData.imgList"
:key="index"
>
<!-- <img :src="item"
alt="" /> -->
<el-image
style="width: 100px; height: 100px"
:src="item"
:preview-src-list="[item]"
>
</el-image>
</div>
<div
v-if="qcData.fileList.length > 0"
class="fj"
v-for="(item, index) in qcData.fileList"
:key="index"
>
<div
@click="openBlank(item)"
style="
color: #48b2fd;
text-decoration: underline;
cursor: pointer;
"
>
{{ item }}
</div>
</div>
</td>
</tr>
<tr
v-for="(item, index) in qcData.detailList"
:key="index"
v-show="isLook != 1"
>
<td align="center" style="height: 108px">
{{ item.approverDept }}
</td>
<td colspan="3">
<span v-if="item.status != 0" style="margin-right: 20px">{{
item.remark
}}</span>
<el-input
v-else
type="textarea"
:rows="5"
maxlength="500"
show-word-limit
resize="none"
2025-04-01 23:46:26 +08:00
:placeholder="'请输入'"
2025-03-23 09:18:42 +08:00
v-model="remark"
>
</el-input>
<div class="spbox" v-if="item.status > 0">
<div>审批人:{{ item.approver }}</div>
<div>
<span>审批状态</span>
<span style="margin-right: 20px">
<el-select
clearable
:disabled="true"
v-model="item.status"
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in ywsqList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</span>
</div>
2025-04-01 23:46:26 +08:00
<div>{{ '日期' }}: {{ item.approverTime }}</div>
2025-03-23 09:18:42 +08:00
</div>
<div class="spbox1" v-if="item.status == 0">
<span style="white-space: nowrap">审批状态</span>
<span style="margin-right: 20px">
<el-select
clearable
v-model="approveOperation"
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in ywsqList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</span>
</div>
</td>
</tr>
<tr
v-for="(item, index) in qcData.detailList"
:key="index"
v-show="isLook == 1 && item.status != 0"
>
<td align="center" style="height: 108px">
{{ item.approverDept }}
</td>
<td colspan="3">
<span v-if="item.status != 0" style="margin-right: 20px">{{
item.remark
}}</span>
<el-input
v-else
type="textarea"
:rows="5"
maxlength="500"
show-word-limit
resize="none"
2025-04-01 23:46:26 +08:00
:placeholder="'请输入'"
2025-03-23 09:18:42 +08:00
v-model="remark"
>
</el-input>
<div class="spbox" v-if="item.status > 0">
<div>审批人:{{ item.approver }}</div>
<div>
<span>审批状态</span>
<span style="margin-right: 20px">
<el-select
clearable
:disabled="true"
v-model="item.status"
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in ywsqList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</span>
</div>
2025-04-01 23:46:26 +08:00
<div>{{ '日期' }}: {{ item.approverTime }}</div>
2025-03-23 09:18:42 +08:00
</div>
<div class="spbox1" v-if="item.status == 0">
<span style="white-space: nowrap">审批状态</span>
<span style="margin-right: 20px">
<el-select
clearable
v-model="approveOperation"
2025-04-01 23:46:26 +08:00
:placeholder="'请选择'"
2025-03-23 09:18:42 +08:00
>
<el-option
v-for="item in ywsqList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="footer" v-if="isLook == 0">
<div style="margin: 0 auto">
<el-button class="thebtn" @click="cancelCz">
2025-04-01 23:46:26 +08:00
{{ '取消' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button type="primary" class="thebtn" @click="saveDate">
2025-04-01 23:46:26 +08:00
{{ '确认' }}</el-button
2025-03-23 09:18:42 +08:00
>
</div>
</div>
<div class="footer" v-if="isLook == 2">
<div style="margin: 0 auto">
<el-button class="cancelBtn" @click="cancelCz">
2025-04-01 23:46:26 +08:00
{{ '取消' }}</el-button
2025-03-23 09:18:42 +08:00
>
<el-button type="primary" class="tjBtn" @click="toReceive"
>接收</el-button
>
</div>
</div>
<el-dialog
2025-04-01 23:46:26 +08:00
:title="'查看详情'"
2025-03-23 09:18:42 +08:00
:visible.sync="twoGoods"
width="60%"
:close-on-click-modal="false"
center
>
<el-table
:data="qcData.businessData"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
>
2025-04-01 23:46:26 +08:00
<el-table-column align="center" prop="memberCode" :label="'会员编号'">
2025-03-23 09:18:42 +08:00
</el-table-column>
<el-table-column
align="center"
prop="memberName"
2025-04-01 23:46:26 +08:00
:label="'会员姓名'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="productName"
2025-04-01 23:46:26 +08:00
:label="'产品名称'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="productCode"
2025-04-01 23:46:26 +08:00
:label="'产品编号'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="price"
2025-04-01 23:46:26 +08:00
:label="'产品单价' + '(¥)'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="achievement"
2025-04-01 23:46:26 +08:00
:label="`${'产品业绩'}` + `(${isLocalSymbol()})`"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
<el-table-column
align="center"
prop="assAchievement"
2025-04-01 23:46:26 +08:00
:label="'产品业绩' + '(BV)'"
2025-03-23 09:18:42 +08:00
>
</el-table-column>
2025-04-01 23:46:26 +08:00
<el-table-column align="center" prop="quantity" :label="'数量'">
2025-03-23 09:18:42 +08:00
</el-table-column>
</el-table>
<el-form label-width="auto">
<el-row :gutter="40">
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'收货人'">
2025-03-23 09:18:42 +08:00
<el-input v-model="twoThing.recName" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'联系方式'">
2025-03-23 09:18:42 +08:00
<el-input
v-model="twoThing.recPhone"
disabled
placeholder="请输入产品名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="省、市、区/县">
<el-input
disabled
:value="
twoThing.recProvinceVal +
twoThing.recCityVal +
(twoThing.recCountryVal == undefined
? ''
: twoThing.recCountryVal)
"
2025-04-01 23:46:26 +08:00
:placeholder="'请输入会员编号'"
2025-03-23 09:18:42 +08:00
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'详细地址'">
2025-03-23 09:18:42 +08:00
<el-input
v-model="twoThing.recAddress"
disabled
2025-04-01 23:46:26 +08:00
:placeholder="'请输入会员姓名'"
2025-03-23 09:18:42 +08:00
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter="40"
v-for="(item, index) in twoThing.accountList"
:key="index"
>
<el-col :span="6">
<el-form-item label="扣款账户">
<el-input disabled v-model="item.pkAccountVal" />
</el-form-item>
</el-col>
<el-col :span="6">
2025-04-01 23:46:26 +08:00
<el-form-item :label="'扣款金额'">
2025-03-23 09:18:42 +08:00
<el-input disabled v-model="item.deductRatio" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
</div>
</template>
<script>
import * as api from "@/api/manage";
import { getenumsCzAccount, getpaymentType } from "@/api/financial";
import printJs from "print-js";
import onlineSign from "./onlineSign.json";
import { isLocals } from "../../utils/numberToCurrency";
export default {
name: "Zxqc",
data() {
return {
checked: [],
checkList: [],
ywsq: "",
ywsqList: [],
qcData: {
signType: "",
detailList: [],
},
approvalCode: "",
onlineSign,
tableColumn: [],
isLook: "",
approveOperation: 1,
remark: "",
directData: "",
twoGoods: false,
twoThing: "",
paymentTypeList: [], //交款方式
enumsAccountList: [], //币种类型
isPrint: false,
};
},
mounted() {
this.approvalCode = this.$route.query.id;
this.pkId = this.$route.query.pkId || "";
this.isLook = this.$route.query.index;
this.isPrint = this.$route.query.isPrint || false;
this.getApprove();
this.getSignType();
this.getDetails();
},
methods: {
isLocals,
toDetails() {
this.$router.push({
path: "information/specialBusiness/dataList",
query: {
pkId: this.qcData.businessData[0].pkMemberEmpty,
status: 0,
},
});
},
details1(item) {
if (
this.directData.approvalBusiness == 141 ||
this.directData.approvalBusiness == 161
) {
this.$router.push(
"/information/markerSpace/detail?code=" + item.storeCode
);
}
if (
this.directData.approvalBusiness == 142 ||
this.directData.approvalBusiness == 162
) {
this.$router.push(
"/information/superStudio/detail?code=" + item.storeCode
);
}
if (
this.directData.approvalBusiness == 143 ||
this.directData.approvalBusiness == 163
) {
this.$router.push("/information/dealer/detail?code=" + item.storeCode);
}
},
toDirectDetails() {
if (this.directData.approvalBusiness == 723) {
this.$router.push({
path: "/marketing/directGifts/addDirect",
query: {
controlType: 4,
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 717 ||
this.directData.approvalBusiness == 718 ||
this.directData.approvalBusiness == 719
) {
this.$router.push({
path: "/marketing/lottery/lotteryInfo",
query: {
controlType: 4,
data: this.directData.businessData,
},
});
} else if (this.directData.approvalBusiness == 713) {
this.$router.push({
path: "/marketing/newcomerGift/newgiftInfo",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 726 ||
this.directData.approvalBusiness == 727 ||
this.directData.approvalBusiness == 728
) {
this.$router.push({
path: "/marketing/seaBean/addConsumptionInfo",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 714 ||
this.directData.approvalBusiness == 715 ||
this.directData.approvalBusiness == 716
) {
this.$router.push({
path: "/marketing/benefitsGift/addBenefitsGift",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 735 ||
this.directData.approvalBusiness == 736 ||
this.directData.approvalBusiness == 737
) {
this.$router.push({
path: "/marketing/tourismAct/addTourismAct",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 729 ||
this.directData.approvalBusiness == 730 ||
this.directData.approvalBusiness == 731
) {
this.$router.push({
path: "/marketing/giftGoods/addGiftGoodsInfo",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 738 ||
this.directData.approvalBusiness == 739 ||
this.directData.approvalBusiness == 740
) {
this.$router.push({
path: "/marketing/consumptionGift/addConsumptionInfo",
query: {
data: this.directData.businessData,
controlType: 4,
},
});
} else if (
this.directData.approvalBusiness == 732 ||
this.directData.approvalBusiness == 733 ||
this.directData.approvalBusiness == 734
) {
this.$router.push({
path: "/marketing/plantCommonweal/addPlantCommonwealList",
query: {
data: this.directData.businessData,
},
});
} else if (
this.directData.approvalBusiness == 741 ||
this.directData.approvalBusiness == 742 ||
this.directData.approvalBusiness == 743
) {
this.$router.push({
name: "AddSeabuckEquityGift",
query: {
data: this.directData.businessData,
controlType: 4,
},
});
} else if (
this.directData.approvalBusiness == 941 ||
this.directData.approvalBusiness == 942 ||
this.directData.approvalBusiness == 943 ||
this.directData.approvalBusiness == 944
) {
this.$router.push({
path: "supplierManaged/supplierManage/supplierGoodsAdd",
query: {
data: this.directData.businessData,
methods: 0,
},
});
} else if (
this.directData.approvalBusiness == 746 ||
this.directData.approvalBusiness == 747 ||
this.directData.approvalBusiness == 748
) {
this.$router.push({
name: "UpgradAddBenefitsGift",
query: {
data: this.directData.businessData,
controlType: 4,
},
});
} else if (
this.directData.approvalBusiness == 749 ||
this.directData.approvalBusiness == 750 ||
this.directData.approvalBusiness == 751
) {
this.$router.push({
name: "MemberAddConsumptionInfo",
query: {
data: this.directData.businessData,
controlType: 4,
},
});
}
},
details() {
this.twoGoods = true;
},
getApprove() {
api.approvalOperation().then((res) => {
this.ywsqList = res.data;
});
getpaymentType().then((res) => {
this.paymentTypeList = res.data;
});
getenumsCzAccount({ accountProperty: 1 }).then((res) => {
this.enumsAccountList = res.rows;
});
},
getSignType() {
api.signType().then((res) => {
this.checkList = res.data;
});
},
getDetails() {
api.approvalDetails(this.approvalCode).then((res) => {
this.qcData = res.data;
let arr = [];
let arr2 = [];
if (this.qcData.filePathList) {
this.qcData.filePathList.forEach((item) => {
if (
item.substr(item.lastIndexOf(".") + 1) == "jpg" ||
item.substr(item.lastIndexOf(".") + 1) == "jpeg" ||
item.substr(item.lastIndexOf(".") + 1) == "png"
) {
arr.push(item);
} else {
arr2.push(item);
}
});
// this.qcData.filePathList
this.$set(this.qcData, "imgList", arr);
this.$set(this.qcData, "fileList", arr2);
}
this.directData = JSON.parse(JSON.stringify(res.data));
if (res.data.businessData) {
if (
res.data.approvalBusiness == 723 ||
res.data.approvalBusiness == 713 ||
res.data.approvalBusiness == 717 ||
res.data.approvalBusiness == 718 ||
res.data.approvalBusiness == 719 ||
res.data.approvalBusiness == 726 ||
res.data.approvalBusiness == 727 ||
res.data.approvalBusiness == 728 ||
res.data.approvalBusiness == 714 ||
res.data.approvalBusiness == 715 ||
res.data.approvalBusiness == 716 ||
res.data.approvalBusiness == 735 ||
res.data.approvalBusiness == 736 ||
res.data.approvalBusiness == 737 ||
res.data.approvalBusiness == 729 ||
res.data.approvalBusiness == 730 ||
res.data.approvalBusiness == 731 ||
res.data.approvalBusiness == 738 ||
res.data.approvalBusiness == 739 ||
res.data.approvalBusiness == 740 ||
res.data.approvalBusiness == 732 ||
res.data.approvalBusiness == 733 ||
res.data.approvalBusiness == 734 ||
res.data.approvalBusiness == 741 ||
res.data.approvalBusiness == 742 ||
res.data.approvalBusiness == 743 ||
res.data.approvalBusiness == 746 ||
res.data.approvalBusiness == 747 ||
res.data.approvalBusiness == 748 ||
res.data.approvalBusiness == 749 ||
res.data.approvalBusiness == 750 ||
res.data.approvalBusiness == 751
) {
this.qcData.businessData = [
JSON.parse(res.data.businessData).activityParam,
];
} else if (res.data.approvalBusiness == 300) {
this.qcData.businessData = JSON.parse(
res.data.businessData
).detailParams;
return;
} else if (res.data.approvalBusiness == 253) {
this.twoThing = JSON.parse(res.data.businessData);
this.qcData.businessData = this.twoThing.productList;
this.qcData.businessData.forEach((item) => {
item.memberCode = this.twoThing.memberCode;
item.memberName = this.twoThing.memberName;
});
} else if (res.data.approvalBusiness == 231) {
this.qcData.businessData = JSON.parse(res.data.businessData);
this.qcData.businessData.forEach((item) => {
item.oldItemDz = item.oldItem;
item.newItemDz = item.newItem;
});
} else {
if (JSON.parse(res.data.businessData).constructor === Object) {
this.qcData.businessData = [JSON.parse(res.data.businessData)];
} else {
this.qcData.businessData = JSON.parse(res.data.businessData);
}
}
const regex = new RegExp("<img", "gi");
this.qcData.businessData.forEach((item) => {
if (item.content) {
item.content = item.content.replace(
regex,
`<img style="max-width: 300px;"`
);
}
});
}
let tableColumn = [];
this.onlineSign.forEach((item) => {
if (item.id == res.data.approvalBusiness) {
tableColumn = item.textList;
}
});
// table表头添加到数组
let arr1 = [];
this.tableColumn = [...new Set(tableColumn)];
});
},
cancelCz() {
this.$router.go(-1);
},
openBlank(item) {
window.open(item);
},
toReceive() {
api
.receiveApproval({
pkIdList: [this.pkId],
})
.then((res) => {
if (res.code == 200) {
this.$message({
type: "success",
message: "接收成功",
});
this.$router.go(-1);
}
});
},
saveDate() {
api
.approvalTrue({
approvalCode: this.approvalCode,
approveOperation: this.approveOperation,
remark: this.remark,
})
.then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.$router.go(-1);
}
});
},
toPrint() {
printJs({
printable: "print",
type: "html",
targetStyles: ["*"],
maxWidth: 1100,
scanStyle: false,
});
// setTimeout(() => {
// this.$print(this.$refs.print)
// }, 100)
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-input.is-disabled .el-input__icon {
display: none;
}
::v-deep .el-table thead {
color: #000000;
}
.page {
padding: 20px;
background: #f9f9f9;
font-size: 14px;
.prin {
position: absolute;
right: 40px;
top: 0;
}
.main {
// margin-top: 20px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
display: flex;
margin: 0 auto;
width: 100%;
padding: 20px;
}
.thetable {
margin: 0 auto;
.fontTitle {
font-weight: bold;
font-size: 24px;
text-align: center;
}
.titleflex {
display: flex;
margin-top: 10px;
margin-bottom: 10px;
justify-content: space-between;
}
}
.tftable {
font-size: 14px;
border-collapse: collapse;
border-radius: 10px;
width: 1060px;
border: 1px solid #cccccc;
.spbox {
display: flex;
align-items: center;
// justify-content: flex-end;
justify-content: space-between;
margin-top: 20px;
}
.spbox1 {
display: flex;
align-items: center;
justify-content: flex-end;
// justify-content: space-between;
margin-top: 20px;
}
th {
font-size: 14px;
// padding: 20px;
}
tr td {
font-size: 14px;
padding: 10px 20px;
height: 60px;
}
}
.footer {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
padding: 15px 0;
background: #fff;
.thebtn {
width: 120px;
height: 38px;
}
}
}
::v-deep .el-textarea__inner {
border: 0;
padding: 0;
}
.fj {
display: flex;
align-items: center;
img {
width: 167px;
height: 138px;
border-radius: 10px 10px 10px 10px;
margin-right: 20px;
}
}
.qcImg {
img {
width: 300px;
height: 200px;
}
}
* {
-webkit-print-color-adjust: exact !important; /* Chrome, Safari */
color-adjust: exact !important; /*Firefox*/
print-color-adjust: exact !important;
}
.cover {
width: 80px;
height: 80px;
}
</style>