|
|
@@ -2,7 +2,7 @@
|
|
|
<template>
|
|
|
<div style="display:flex">
|
|
|
<!-- <canvas id="mycanvas" width="400" hight="400"></canvas> -->
|
|
|
- <div style="display:inline-block;margin:0 auto;text-align: center;">
|
|
|
+ <div style="display:inline-block;margin:0 auto;">
|
|
|
<!--安装培训确认单-->
|
|
|
<div ref="container" style="background:#ffffff" v-if="detail.workorder.type == '安装培训'">
|
|
|
<div slot="title">
|
|
|
@@ -72,12 +72,12 @@
|
|
|
{{ scope.row.itemname ? scope.row.itemname : '--' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="itemno" label="编号">
|
|
|
+ <el-table-column prop="itemno" width="200" label="编号">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.itemno ? scope.row.itemno : '--' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="200" prop="qty" label="数量">
|
|
|
+ <el-table-column width="60" prop="qty" label="数量">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.qty ? scope.row.qty : '--' }}
|
|
|
</template>
|
|
|
@@ -162,7 +162,7 @@
|
|
|
{{ scope.row.itemname ? scope.row.itemname : '--' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="itemno" label="编号">
|
|
|
+ <el-table-column prop="itemno" width="200" label="编号">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.itemno ? scope.row.itemno : '--' }}
|
|
|
</template>
|
|
|
@@ -284,52 +284,168 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">客诉情况</td>
|
|
|
- <td colspan="5">{{ detail.workorder.reason }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">客诉情况</td>
|
|
|
+ <td colspan="1">{{ detail.workorder.reason }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">是否为我公司生产、出货产品?</td>
|
|
|
+ <td colspan="1">{{ detail.workorder.isouritem === 1?'是':'否' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">是否为我公司生产、出货产品?</td>
|
|
|
- <td colspan="5">{{ detail.workorder.isouritem === 1?'是':'否' }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">是否可以在线维修、调试</td>
|
|
|
+ <td colspan="1">{{ text.descriptions1 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">是否需要拆卸配件或整拆?</td>
|
|
|
+ <td colspan="1">{{ text.descriptions2 }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">是否可以在线维修、调试</td>
|
|
|
- <td colspan="5">{{ text.descriptions1 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">与现场协商确认维修方案(包含周期)?</td>
|
|
|
+ <td colspan="1">{{ text.descriptions3 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">是否有偿服务</td>
|
|
|
+ <td colspan="5">{{ text.descriptions4 > 0?'是':'否' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">是否需要拆卸配件或整拆?</td>
|
|
|
- <td colspan="5">{{ text.descriptions2 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">服务金额</td>
|
|
|
+ <td colspan="1">{{ text.descriptions4 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">实施内容</td>
|
|
|
+ <td colspan="1">{{ text.descriptions5 }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">与现场协商确认维修方案(包含周期)?</td>
|
|
|
- <td colspan="5">{{ text.descriptions3 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">服务测试内容描述</td>
|
|
|
+ <td colspan="1">{{ text.descriptions6 }}</td>
|
|
|
+ <td colspan="2" style="background:#FAFAFA">现场交代事项</td>
|
|
|
+ <td colspan="1">{{ text.descriptions7 }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">是否有偿服务</td>
|
|
|
- <td colspan="5">{{ text.descriptions4 > 0?'是':'否' }}</td>
|
|
|
+ <td style="background:#FAFAFA">保质期</td>
|
|
|
+ <td colspan="5">{{ detail.workorder.isouritem === 1?'内':'外' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">服务金额</td>
|
|
|
- <td colspan="5">{{ text.descriptions4 }}</td>
|
|
|
+ <td style="background:#FAFAFA">备注说明</td>
|
|
|
+ <td colspan="5">{{ detail.workorder.remarks || '--' }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td style="background:#FAFAFA">客户意见及签字确认:</td>
|
|
|
+ <td colspan="5"><img ref="nameImage" style="width:200px" v-if="signatureName.length" :src="signatureName[0].url" alt=""></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td style="background:#FAFAFA">反应速度</td>
|
|
|
+ <td colspan="2">{{ detail.responsescore }}</td>
|
|
|
+ <td style="background:#FAFAFA">配合态度</td>
|
|
|
+ <td colspan="2">{{ detail.attitudescore }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td style="background:#FAFAFA"></td>
|
|
|
+ <td colspan="5">尊敬的用户,感谢您一直以来对我们公司的信任和支持,为更好的为您提供优质服务和产品,请允许我们的客户人员带回您最宝贵的意见</td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <!--非工序确认单-->
|
|
|
+ <div ref="container" style="background:#ffffff" v-else-if="detail.workorder.type == '非工序模板'">
|
|
|
+ <div slot="title">
|
|
|
+ <h2 style="margin:0;text-align: center;">浙江班尼戈智慧管网股份有限公司</h2>
|
|
|
+ <h3 style="text-align: center;">服务确认单 </h3>
|
|
|
+ <div class="flex">
|
|
|
+ <p>日期:{{detail.createdate}}</p>
|
|
|
+ <p> 编号:{{detail.confirmationno}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <table id="header__table" border="1" style="border-collapse: collapse;border:1px solid #EBEBED;">
|
|
|
+ <tr>
|
|
|
+ <td class="td__title">项目名称</td>
|
|
|
+ <td>{{ detail.workorder.projectname || '--' }}</td>
|
|
|
+ <td class="td__title">保质期</td>
|
|
|
+ <td>{{detail.workorder.isouritem === 1?'内':'外'}}</td>
|
|
|
+ <td class="td__title">服务方式</td>
|
|
|
+ <td>{{ detail.workorder.projectleader || '--' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">实施内容</td>
|
|
|
- <td colspan="5">{{ text.descriptions5 }}</td>
|
|
|
+ <td class="td__title">服务单号</td>
|
|
|
+ <td>{{ detail.workorder.servicebillno || '--' }}</td>
|
|
|
+ <td class="td__title">服务类型</td>
|
|
|
+ <td>{{ detail.workorder.servicetype || '--' }}</td>
|
|
|
+ <td class="td__title">订单号</td>
|
|
|
+ <td>{{ detail.workorder.sonum || '--' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">服务测试内容描述</td>
|
|
|
- <td colspan="5">{{ text.descriptions6 }}</td>
|
|
|
+ <td class="td__title">联系人</td>
|
|
|
+ <td>{{ detail.workorder.scenecontact || '--' }}</td>
|
|
|
+ <td class="td__title">联系方式</td>
|
|
|
+ <td>{{ detail.workorder.scenecontactphonenumber || '--' }}</td>
|
|
|
+ <td class="td__title">应用系统</td>
|
|
|
+ <td>{{ detail.workorder.class1 || '--' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">现场交代事项</td>
|
|
|
- <td colspan="5">{{ text.descriptions7 }}</td>
|
|
|
+ <td class="td__title">是否保内</td>
|
|
|
+ <td>{{ detail.workorder.inqualityguaranteeperiod ? '是' : '否' }}</td>
|
|
|
+ <td class="td__title">售后人员</td>
|
|
|
+ <td>{{ detail.workorder.saler_name || '--' }}</td>
|
|
|
+ <td class="td__title">经销商名称</td>
|
|
|
+ <td>{{ detail.workorder.enterprisename || '--' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">保质期</td>
|
|
|
- <td colspan="5">{{ detail.workorder.isouritem === 1?'内':'外' }}</td>
|
|
|
+ <td class="td__title">申请原因</td>
|
|
|
+ <td colspan="6">{{ detail.workorder.reason || '--' }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td style="background:#FAFAFA">备注说明</td>
|
|
|
- <td colspan="5">{{ workorder.remarks || '--' }}</td>
|
|
|
+ <td class="td__title">地址</td>
|
|
|
+ <td colspan="6">{{ detail.workorder.province + detail.workorder.city + detail.workorder.county + detail.workorder.address }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6" style="padding:0">
|
|
|
+ <el-table :data="detail.trainertitems" :header-cell-style="{background:'#F2F3F5',color:'#000000'}" size="mini">
|
|
|
+ <el-table-column width="260" prop="itemname" label="培训产品名">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.itemname ? scope.row.itemname : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="itemno" width="200" label="编号">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.itemno ? scope.row.itemno : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="100" prop="qty" label="数量">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.qty ? scope.row.qty : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="200" prop="model" label="型号">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.model ? scope.row.model : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="200" prop="spec" label="规格">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.spec ? scope.row.spec : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="200" prop="resaon" label="异常现象">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.resaon ? scope.row.resaon : '--' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="td__title" colspan="6" style="text-align:center">处理过程</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
|
|
|
+ <td class="td__title">{{ index + 1 }}</td>
|
|
|
+ <td colspan="6">{{ item.itemname + ':' + item.processing }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <tr>
|
|
|
+ <td class="td__title" colspan="6" style="text-align:center">处理结果</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
|
|
|
+ <td class="td__title">{{ index + 1 }}</td>
|
|
|
+ <td colspan="6">{{ item.itemname + ':' + item.result }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <tr>
|
|
|
+ <td class="td__title" colspan="6" style="text-align:center">原因分析</td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item,index) in detail.trainertitems" :key="item.sa_workorder_node_itemsid">
|
|
|
+ <td class="td__title">{{ index + 1 }}</td>
|
|
|
+ <td colspan="6">{{ item.itemname + ':' + item.reason }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td style="background:#FAFAFA">客户意见及签字确认:</td>
|
|
|
@@ -337,9 +453,11 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td style="background:#FAFAFA">反应速度</td>
|
|
|
- <td colspan="2">{{ detail.responsescore }}</td>
|
|
|
+ <td colspan="1">{{ detail.responsescore }}</td>
|
|
|
<td style="background:#FAFAFA">配合态度</td>
|
|
|
- <td colspan="2">{{ detail.attitudescore }}</td>
|
|
|
+ <td colspan="1">{{ detail.attitudescore }}</td>
|
|
|
+ <td style="background:#FAFAFA">满意度</td>
|
|
|
+ <td colspan="1">{{ detail.satisfaction }}</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td style="background:#FAFAFA"></td>
|
|
|
@@ -377,8 +495,9 @@ export default {
|
|
|
descriptions6:'',
|
|
|
descriptions7:''
|
|
|
},
|
|
|
- folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
|
|
|
+ folderid:this.$route.query.parentid,
|
|
|
params: {
|
|
|
+ "accesstoken":this.$route.query.token,
|
|
|
"classname": "system.attachment.huawei.OBS",
|
|
|
"method": "getFileName",
|
|
|
"content": {
|
|
|
@@ -391,13 +510,19 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
async listData () {
|
|
|
- let res = await this.$api.requested({
|
|
|
+ let param = {
|
|
|
+ "accesstoken":this.$route.query.token,
|
|
|
"id": "20230211105803",
|
|
|
- "version": 1,
|
|
|
"content": {
|
|
|
- "sa_workorder_confirmationid": this.$route.query.id
|
|
|
+ "sa_workorder_confirmationid": this.$route.query.ownerid
|
|
|
}
|
|
|
+ }
|
|
|
+ let res = await this.$axios({
|
|
|
+ method:'POST',
|
|
|
+ data: param,
|
|
|
+ url:'/yos/rest/index',
|
|
|
})
|
|
|
+ return console.log(res);
|
|
|
if (res.data.workorder.type == '安装测试') {
|
|
|
res.data.confirmationcontent.forEach(e => {
|
|
|
Object.keys(e).map((key,index)=>{
|
|
|
@@ -435,7 +560,7 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+ res.data.workorder.type ='服务'
|
|
|
this.detail = res.data
|
|
|
this.signatureName = this.detail.attinfos.filter(e=>{
|
|
|
if (e.usetype === 'signature') {
|
|
|
@@ -443,24 +568,26 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
if (this.signatureName.length) {
|
|
|
- // let canvas = document.getElementById('mycanvas')
|
|
|
- // let node = this.$refs.nameImage
|
|
|
- let that = this
|
|
|
- var CANVAS = document.createElement('canvas')
|
|
|
- CANVAS.width = 100;
|
|
|
- CANVAS.height = 100;
|
|
|
- var context = CANVAS.getContext('2d');
|
|
|
- var img = new Image();
|
|
|
- img.crossOrigin = "anonymous"
|
|
|
- img.src = this.signatureName[0].url;
|
|
|
- // img.src = 'http://localhost:8087/img/wallhaven-0pq8gm.08c576fa.jpeg'
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let that = this
|
|
|
+ let node = this.$refs.nameImage
|
|
|
+ console.log(node.height);
|
|
|
+ let CANVAS = document.createElement('canvas')
|
|
|
+ CANVAS.width = node.width;
|
|
|
+ CANVAS.height = node.width;
|
|
|
+ let context = CANVAS.getContext('2d');
|
|
|
|
|
|
- img.onload=function() {
|
|
|
- console.log(img);
|
|
|
- context.drawImage(img,0,0,100,100 );
|
|
|
- let dataURL = CANVAS.toDataURL("image/jpg");
|
|
|
- that.$refs.nameImage.src = dataURL
|
|
|
- }
|
|
|
+ let img = new Image();
|
|
|
+ img.crossOrigin = "anonymous"
|
|
|
+
|
|
|
+ img.onload=function() {
|
|
|
+ console.log(img);
|
|
|
+ context.drawImage(img,0,0,node.width, node.height);
|
|
|
+ let dataURL = CANVAS.toDataURL("image/jpg");
|
|
|
+ node.src = dataURL
|
|
|
+ }
|
|
|
+ img.src = this.signatureName[0].url + '?time=' + Date.now();
|
|
|
+ })
|
|
|
}
|
|
|
console.log(this.detail)
|
|
|
},
|
|
|
@@ -502,6 +629,7 @@ export default {
|
|
|
}
|
|
|
obj = Object.assign({},obj,this.bindData)
|
|
|
let param = {
|
|
|
+ "accesstoken":this.$route.query.token,
|
|
|
"classname": "system.attachment.huawei.OBS",
|
|
|
"method": "uploadSuccess",
|
|
|
"content":obj
|
|
|
@@ -509,11 +637,12 @@ export default {
|
|
|
const res = await this.$api.requested(param)
|
|
|
if (res.code === 1) {
|
|
|
let res2 = await this.$api.requested({
|
|
|
+ "accesstoken":this.$route.query.token,
|
|
|
"classname": "system.attachment.Attachment",
|
|
|
"method": "createFileLink",
|
|
|
"content": {
|
|
|
"ownertable": "sa_workorder_confirmation",
|
|
|
- "ownerid": this.$route.query.id,
|
|
|
+ "ownerid": this.$route.query.ownerid,
|
|
|
"usetype": "default",
|
|
|
"attachmentids": [
|
|
|
res.data.attachmentids[0]
|
|
|
@@ -540,11 +669,14 @@ export default {
|
|
|
.td__title {
|
|
|
background: #FAFAFA;
|
|
|
color: #000000;
|
|
|
- font-weight: bold;
|
|
|
}
|
|
|
.flex{
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
-
|
|
|
+.noborder td {
|
|
|
+ border-left: none;
|
|
|
+ border-top: none;
|
|
|
+ border-bottom: none;
|
|
|
+}
|
|
|
</style>
|