|
|
@@ -1,62 +1,94 @@
|
|
|
<template>
|
|
|
- <van-overlay class="backgroundSty" z-index="2004" :show="showPop">
|
|
|
+ <van-overlay class="backgroundSty" z-index="2002" :show="showPop">
|
|
|
<div style="height:5%">
|
|
|
<van-sticky>
|
|
|
- <van-nav-bar :title="'沟通记录 ' + (typeValue == '3'? '编制' : typeValue == '4' ? '修改': typeValue == '1' ? '详情' : '')"
|
|
|
- :left-text="'x'" left-arrow
|
|
|
- :right-text="typeValue == '4'?'退回原因':''"
|
|
|
- @click-left="closePop()" @click-right="toCheckMode()" />
|
|
|
+ <van-nav-bar
|
|
|
+ :title="
|
|
|
+ '沟通记录 ' +
|
|
|
+ (typeValue == '3'
|
|
|
+ ? '编制'
|
|
|
+ : typeValue == '4'
|
|
|
+ ? '修改'
|
|
|
+ : typeValue == '1'
|
|
|
+ ? '详情'
|
|
|
+ : '')
|
|
|
+ "
|
|
|
+ :right-text="typeValue == '4' ? '退回原因' : ''"
|
|
|
+ @click-left="closePop()"
|
|
|
+ @click-right="getBack()"
|
|
|
+ >
|
|
|
+ <template #left>
|
|
|
+ <van-icon name="cross" class="ibps-nav-bar__close-icon" />
|
|
|
+ </template>
|
|
|
+ </van-nav-bar>
|
|
|
</van-sticky>
|
|
|
</div>
|
|
|
<div class="scrollView">
|
|
|
<van-form @submit="onSubmit">
|
|
|
- <van-field label="表单编号:" placeholder="请输入表单编号" v-model="form.biaoDanBianHao" label-width = "6em" input-align="left" readonly />
|
|
|
+ <van-field
|
|
|
+ v-model="form.biaoDanBianHao"
|
|
|
+ label="表单编号:"
|
|
|
+ placeholder="请输入表单编号"
|
|
|
+ label-width="6em"
|
|
|
+ input-align="left"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
<van-field
|
|
|
v-model="form.keHuLianXiRen"
|
|
|
required
|
|
|
label="用户姓名:"
|
|
|
placeholder="请输入用户姓名"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<van-field
|
|
|
v-model="form.keHuDanWeiMin"
|
|
|
required
|
|
|
label="用户单位:"
|
|
|
placeholder="请输入用户单位"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<van-field
|
|
|
v-model="form.lianXiDianHua"
|
|
|
required
|
|
|
label="联系电话:"
|
|
|
placeholder="请输入联系电话"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :rules="[{ validator:$common.getRequest.checkPhone, message: '手机号格式错误' }]"
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ validator: $common.getRequest.checkPhone,
|
|
|
+ message: '手机号格式错误'
|
|
|
+ }
|
|
|
+ ]"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<van-field
|
|
|
v-model="form.yongHuYouXiang"
|
|
|
required
|
|
|
label="用户邮箱:"
|
|
|
placeholder="请输入用户邮箱"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :rules="[{ validator:$common.getRequest.checkEmail, message: '邮箱格式错误' }]"
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ validator: $common.getRequest.checkEmail,
|
|
|
+ message: '邮箱格式错误'
|
|
|
+ }
|
|
|
+ ]"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<van-field
|
|
|
required
|
|
|
label="沟通类型:"
|
|
|
placeholder="请选择沟通类型"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
:value="form.gouTongLeiXing"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
@click="sheetShow = true"
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
/>
|
|
|
<van-popup v-model="sheetShow" position="bottom">
|
|
|
<van-picker
|
|
|
@@ -72,18 +104,18 @@
|
|
|
required
|
|
|
label="其他类型:"
|
|
|
placeholder="请输入其他类型"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<van-field
|
|
|
required
|
|
|
label="沟通时间:"
|
|
|
placeholder="请选择沟通时间"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
:value="form.gouTongRiQi"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
@click="gouTongRiQiClick(form.gouTongRiQi)"
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
/>
|
|
|
<van-popup v-model="timeShow" position="bottom">
|
|
|
<van-datetime-picker
|
|
|
@@ -100,25 +132,27 @@
|
|
|
type="textarea"
|
|
|
label="沟通事项:"
|
|
|
placeholder="请输入沟通事项"
|
|
|
- label-width = "6em"
|
|
|
+ label-width="6em"
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
- </van-form>
|
|
|
+ </van-form>
|
|
|
<van-cell-group>
|
|
|
- <div class="verticalLine" style="width:6em;padding: 1em 0;">沟通内容</div>
|
|
|
+ <div class="verticalLine" style="width:6em;padding: 1em 0;">
|
|
|
+ 沟通内容
|
|
|
+ </div>
|
|
|
<van-field
|
|
|
v-model="form.gouTongNeiRong"
|
|
|
autosize
|
|
|
type="textarea"
|
|
|
label=""
|
|
|
placeholder="意见和建议"
|
|
|
- label-width = "0"
|
|
|
+ label-width="0"
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
</van-cell-group>
|
|
|
-
|
|
|
+
|
|
|
<ibps-uploader
|
|
|
v-model="form.fuJian"
|
|
|
label="附件"
|
|
|
@@ -127,7 +161,7 @@
|
|
|
:have-padding="false"
|
|
|
multiple
|
|
|
clearable
|
|
|
- :readonly="typeValue != 3 && typeValue != 4 ? true: false"
|
|
|
+ :readonly="typeValue != 3 && typeValue != 4 ? true : false"
|
|
|
/>
|
|
|
<ibps-signature
|
|
|
v-if="form.leiXing == '2'"
|
|
|
@@ -135,17 +169,19 @@
|
|
|
label="用户确认"
|
|
|
class="yonghu"
|
|
|
placeholder=" "
|
|
|
- :readonly="typeValue == 3 && typeValue == 4 ? true: false"
|
|
|
+ :readonly="typeValue == 3 && typeValue == 4 ? true : false"
|
|
|
/>
|
|
|
- <van-cell-group v-if="typeValue != 3 && typeValue != 4">
|
|
|
- <div class="verticalLine" style="width:8em;padding: 1em 0;">沟通内容确定</div>
|
|
|
+ <van-cell-group v-if="typeValue != 3 && typeValue != 4">
|
|
|
+ <div class="verticalLine" style="width:8em;padding: 1em 0;">
|
|
|
+ 沟通内容确定
|
|
|
+ </div>
|
|
|
<van-field
|
|
|
v-model="form.gouTongQueDingNei"
|
|
|
autosize
|
|
|
type="textarea"
|
|
|
label=""
|
|
|
placeholder="意见和建议"
|
|
|
- label-width = "0"
|
|
|
+ label-width="0"
|
|
|
clearable
|
|
|
:readonly="typeValue != 2"
|
|
|
/>
|
|
|
@@ -159,714 +195,740 @@
|
|
|
:readonly="typeValue != 2"
|
|
|
/>
|
|
|
|
|
|
- <div class="padding flex flex-direction" v-if="typeValue == '3'">
|
|
|
- <van-button type="success" class="btn btn-back-color" @click="onSubmit">提交
|
|
|
- </van-button>
|
|
|
- </div>
|
|
|
- <div class="padding flex flex-direction" v-if="typeValue == '2'">
|
|
|
- <van-button type="success" class="btn btn-back-color" @click="onAgree('已完成','同意','确定')">同意
|
|
|
- </van-button>
|
|
|
- </div>
|
|
|
- <div class="padding flex flex-direction" v-if="typeValue == '4'">
|
|
|
- <van-button type="success" class="btn btn-back-color" @click="onAgree('已编制','重新提交','提交')">修改
|
|
|
- </van-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
+ <div v-if="typeValue == '3'" class="padding flex flex-direction">
|
|
|
+ <van-button
|
|
|
+type="success"
|
|
|
+class="btn btn-back-color"
|
|
|
+@click="onSubmit"
|
|
|
+ >提交
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ <div v-if="typeValue == '2'" class="padding flex flex-direction">
|
|
|
+ <van-button
|
|
|
+ type="success"
|
|
|
+ class="btn btn-back-color"
|
|
|
+ @click="onAgree('已完成', '同意', '确定')"
|
|
|
+ >同意
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ <div v-if="typeValue == '4'" class="padding flex flex-direction">
|
|
|
+ <van-button
|
|
|
+ type="success"
|
|
|
+ class="btn btn-back-color"
|
|
|
+ @click="onAgree('已编制', '重新提交', '提交')"
|
|
|
+ >修改
|
|
|
+ </van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</van-overlay>
|
|
|
</template>
|
|
|
<script>
|
|
|
- import random from '@/mixins/random'
|
|
|
- import bpmnStatus from '@/mixins/bpmnStatus'
|
|
|
-
|
|
|
- import ApprovePopup from '@/business/platform/bpmn/form-ext/approve'
|
|
|
-
|
|
|
- import IbpsMoreSearch from '@/components/ibps-more-search'
|
|
|
- import IbpsAvatar from '@/components/ibps-avatar'
|
|
|
- import IbpsToolbar from '@/components/ibps-toolbar'
|
|
|
- import IbpsListResultPage from '@/components/ibps-list-result-page'
|
|
|
- import IbpsTypeTree from '@/business/platform/cat/type/tree'
|
|
|
- import IbpsBpmnDefinition from '@/business/platform/bpmn/definition/field'
|
|
|
- import IbpsUploader from '@/business/platform/file/uploader'
|
|
|
+import random from '@/mixins/random'
|
|
|
+import bpmnStatus from '@/mixins/bpmnStatus'
|
|
|
+import IbpsUploader from '@/business/platform/file/uploader'
|
|
|
|
|
|
- import IbpsBpmnFormrenderDialog from '@/business/platform/bpmn/form/dialog'
|
|
|
+import {
|
|
|
+ getNextIdByAlias,
|
|
|
+ findFormJsonByBo,
|
|
|
+ snapshot
|
|
|
+} from '@/api/platform/form/transfer'
|
|
|
+import { agree } from '@/api/platform/bpmn/bpmTask'
|
|
|
|
|
|
- import { getNextIdByAlias, findFormJsonByBo, snapshot } from '@/api/platform/form/transfer'
|
|
|
- import { agree } from '@/api/platform/bpmn/bpmTask'
|
|
|
-
|
|
|
-
|
|
|
- export default {
|
|
|
- components: {
|
|
|
- IbpsMoreSearch,
|
|
|
- IbpsAvatar,
|
|
|
- IbpsListResultPage,
|
|
|
- IbpsTypeTree,
|
|
|
- IbpsBpmnDefinition,
|
|
|
- IbpsToolbar,
|
|
|
- ApprovePopup,
|
|
|
- IbpsBpmnFormrenderDialog,
|
|
|
- IbpsUploader
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ IbpsUploader
|
|
|
+ },
|
|
|
+ mixins: [random, bpmnStatus],
|
|
|
+ props: {
|
|
|
+ showPop: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
},
|
|
|
- mixins: [random, bpmnStatus],
|
|
|
- props: {
|
|
|
- showPop:{
|
|
|
- type: Boolean,
|
|
|
- default: false
|
|
|
+ typeValue: {
|
|
|
+ type: String,
|
|
|
+ default: '3'
|
|
|
+ },
|
|
|
+ id: {
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ const useId = this.$store.getters.userId
|
|
|
+ return {
|
|
|
+ useId,
|
|
|
+ show: this.showPop,
|
|
|
+ // typeValue: '3',
|
|
|
+ sheetShow: false,
|
|
|
+ taskId: '',
|
|
|
+ form: {
|
|
|
+ xuanZeKeHu: '',
|
|
|
+ biaoDanBianHao: '',
|
|
|
+ buMenName: '',
|
|
|
+ keHuDanWeiMin: '',
|
|
|
+ keHuLianXiRen: '',
|
|
|
+ weiTuoDanHao: '',
|
|
|
+ lianXiDianHua: '',
|
|
|
+ yangPinMingCheng: '',
|
|
|
+ yangPinBianHao: '',
|
|
|
+ yangPinLeiXing: '',
|
|
|
+ baoGaoBianHao: '',
|
|
|
+ gouTongLeiXing: '',
|
|
|
+ gouTongNeiRong: '',
|
|
|
+ keHu: '',
|
|
|
+ gouTongQueDingNei: '',
|
|
|
+ leiXing: '2',
|
|
|
+ yongHuYouXiang: '',
|
|
|
+ qiTa: ''
|
|
|
+ },
|
|
|
+ fuJianShangChuanArray: [],
|
|
|
+ popupShow: false,
|
|
|
+ list: [
|
|
|
+ {
|
|
|
+ text: '投诉'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '检验项目'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '危机值报告'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '口头报告结果'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '延迟报告'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '其它'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ kehuXinXinList: [],
|
|
|
+
|
|
|
+ weiTuoList: [],
|
|
|
+ bianZhiRenName: '',
|
|
|
+ queDingRenName: '',
|
|
|
+ backShow: false,
|
|
|
+ option: '',
|
|
|
+ content: '',
|
|
|
+ timeShow: false,
|
|
|
+ params: {
|
|
|
+ year: true,
|
|
|
+ month: true,
|
|
|
+ day: true,
|
|
|
+ hour: true,
|
|
|
+ minute: true,
|
|
|
+ second: false
|
|
|
},
|
|
|
- typeValue:{
|
|
|
- type: String,
|
|
|
- default: '3'
|
|
|
+ level: null,
|
|
|
+ mainPosition: {
|
|
|
+ id: ''
|
|
|
},
|
|
|
- id:{
|
|
|
- type: String,
|
|
|
- default: ''
|
|
|
- }
|
|
|
+ xuanzeTime: null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ rightText() {
|
|
|
+ return this.checkMode
|
|
|
+ ? this.$t('common.button.cancel')
|
|
|
+ : this.$t('common.button.manage')
|
|
|
},
|
|
|
- data() {
|
|
|
- const useId = this.$store.getters.userId
|
|
|
- return {
|
|
|
- useId,
|
|
|
- show: this.showPop,
|
|
|
- // typeValue: '3',
|
|
|
- sheetShow: false,
|
|
|
- taskId: '',
|
|
|
- form: {
|
|
|
- xuanZeKeHu: '',
|
|
|
- biaoDanBianHao: '',
|
|
|
- buMenName: '',
|
|
|
- keHuDanWeiMin: '',
|
|
|
- keHuLianXiRen: '',
|
|
|
- weiTuoDanHao: '',
|
|
|
- lianXiDianHua: '',
|
|
|
- yangPinMingCheng: '',
|
|
|
- yangPinBianHao: '',
|
|
|
- yangPinLeiXing: '',
|
|
|
- baoGaoBianHao: '',
|
|
|
- gouTongLeiXing: '',
|
|
|
- gouTongNeiRong: '',
|
|
|
- keHu: '',
|
|
|
- gouTongQueDingNei: '',
|
|
|
- leiXing: '2',
|
|
|
- yongHuYouXiang: '',
|
|
|
- xuanZeKeHu: '',
|
|
|
- qiTa: ''
|
|
|
- },
|
|
|
- fuJianShangChuanArray: [],
|
|
|
- popupShow: false,
|
|
|
- list: [{
|
|
|
- text: '投诉'
|
|
|
- }, {
|
|
|
- text: '检验项目'
|
|
|
- }, {
|
|
|
- text: '危机值报告'
|
|
|
- }, {
|
|
|
- text: '口头报告结果'
|
|
|
- }, {
|
|
|
- text: '延迟报告'
|
|
|
- }, {
|
|
|
- text: '其它'
|
|
|
- }],
|
|
|
- kehuXinXinList: [],
|
|
|
-
|
|
|
- weiTuoList: [],
|
|
|
- bianZhiRenName: '',
|
|
|
- queDingRenName: '',
|
|
|
- backShow: false,
|
|
|
- option: '',
|
|
|
- content: '',
|
|
|
- timeShow: false,
|
|
|
- params: {
|
|
|
- year: true,
|
|
|
- month: true,
|
|
|
- day: true,
|
|
|
- hour: true,
|
|
|
- minute: true,
|
|
|
- second: false
|
|
|
- },
|
|
|
- level: null,
|
|
|
- mainPosition: {
|
|
|
- id: ''
|
|
|
- },
|
|
|
- xuanzeTime: null,
|
|
|
+ selectedIds() {
|
|
|
+ return this.checkedIds.join(',')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ showPop: {
|
|
|
+ handler: function(val, oldVal) {
|
|
|
+ if (val === true) {
|
|
|
+ this.form = {
|
|
|
+ xuanZeKeHu: '',
|
|
|
+ biaoDanBianHao: '',
|
|
|
+ buMenName: '',
|
|
|
+ keHuDanWeiMin: '',
|
|
|
+ keHuLianXiRen: '',
|
|
|
+ weiTuoDanHao: '',
|
|
|
+ lianXiDianHua: '',
|
|
|
+ yangPinMingCheng: '',
|
|
|
+ yangPinBianHao: '',
|
|
|
+ yangPinLeiXing: '',
|
|
|
+ baoGaoBianHao: '',
|
|
|
+ gouTongLeiXing: '',
|
|
|
+ gouTongNeiRong: '',
|
|
|
+ keHu: '',
|
|
|
+ gouTongQueDingNei: '',
|
|
|
+ leiXing: '2',
|
|
|
+ yongHuYouXiang: '',
|
|
|
+ qiTa: ''
|
|
|
+ }
|
|
|
+ this.getKehu()
|
|
|
+ this.level = this.$store.getters.level
|
|
|
+ const mainPosition = this.$store.getters.mainPosition
|
|
|
+ this.mainPosition = mainPosition
|
|
|
+ if (this.id && this.id !== '') {
|
|
|
+ // this.id = this.id
|
|
|
+ this.getDe(this.id)
|
|
|
+ } else {
|
|
|
+ this.getGtbh()
|
|
|
+ }
|
|
|
+ // if (this.typeValue) {
|
|
|
+ // this.typeValue = this.typeValue
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ immediate: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {},
|
|
|
+ methods: {
|
|
|
+ closePop() {
|
|
|
+ this.$emit('updataSet', false)
|
|
|
+ },
|
|
|
+ toCheckMode() {
|
|
|
+ if (this.$utils.isEmpty(this.listData)) {
|
|
|
+ return
|
|
|
}
|
|
|
+ if (this.checkMode) {
|
|
|
+ this.showA = true
|
|
|
+ this.checkedIds = []
|
|
|
+ }
|
|
|
+ this.checkMode = !this.checkMode
|
|
|
},
|
|
|
- watch:{
|
|
|
- showPop:{
|
|
|
- handler: function (val, oldVal) {
|
|
|
- if(val === true){
|
|
|
- this.form = {
|
|
|
- xuanZeKeHu: '',
|
|
|
- biaoDanBianHao: '',
|
|
|
- buMenName: '',
|
|
|
- keHuDanWeiMin: '',
|
|
|
- keHuLianXiRen: '',
|
|
|
- weiTuoDanHao: '',
|
|
|
- lianXiDianHua: '',
|
|
|
- yangPinMingCheng: '',
|
|
|
- yangPinBianHao: '',
|
|
|
- yangPinLeiXing: '',
|
|
|
- baoGaoBianHao: '',
|
|
|
- gouTongLeiXing: '',
|
|
|
- gouTongNeiRong: '',
|
|
|
- keHu: '',
|
|
|
- gouTongQueDingNei: '',
|
|
|
- leiXing: '2',
|
|
|
- yongHuYouXiang: '',
|
|
|
- xuanZeKeHu: '',
|
|
|
- qiTa: ''
|
|
|
- }
|
|
|
- this.getKehu()
|
|
|
- this.level = this.$store.getters.level
|
|
|
- let mainPosition = this.$store.getters.mainPosition
|
|
|
- this.mainPosition = mainPosition
|
|
|
- if (this.id && this.id!='') {
|
|
|
- // this.id = this.id
|
|
|
- this.getDe(this.id)
|
|
|
- } else {
|
|
|
- this.getGtbh()
|
|
|
- }
|
|
|
- // if (this.typeValue) {
|
|
|
- // this.typeValue = this.typeValue
|
|
|
- // }
|
|
|
- }
|
|
|
- },
|
|
|
- immediate: true
|
|
|
+ actionSheetCallback(e) {
|
|
|
+ this.form.gouTongLeiXing = e.text
|
|
|
+ this.sheetShow = false
|
|
|
+ },
|
|
|
+ timeShowCallback(e) {
|
|
|
+ const nowDate = new Date(e.getTime() + 8 * 60 * 60 * 1000)
|
|
|
+ const time = nowDate
|
|
|
+ .toJSON()
|
|
|
+ .split('T')
|
|
|
+ .join(' ')
|
|
|
+ .substr(0, 16)
|
|
|
+ this.form.gouTongRiQi = time
|
|
|
+ this.timeShow = false
|
|
|
+ },
|
|
|
+ gouTongRiQiClick(e) {
|
|
|
+ this.timeShow = true
|
|
|
+ },
|
|
|
+ // 获取上传状态
|
|
|
+ select(file) {
|
|
|
+ this.$uploades.selectUpload(file).then(res => {
|
|
|
+ res.forEach(item => {
|
|
|
+ this.fuJianShangChuanArray.push(item)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 删除
|
|
|
+ deleteMe(id) {
|
|
|
+ this.fuJianShangChuanArray = this.fuJianShangChuanArray.filter(
|
|
|
+ item => item.id !== id
|
|
|
+ )
|
|
|
+ },
|
|
|
+ // 获取上传进度
|
|
|
+ progress(e) {},
|
|
|
+ // 上传成功
|
|
|
+ success(file) {},
|
|
|
+ // 上传失败
|
|
|
+ fail(e) {},
|
|
|
+ // 弹出框显示
|
|
|
+ qianming(index) {
|
|
|
+ this.popupShow = true
|
|
|
+ },
|
|
|
+ // 清除签名
|
|
|
+ deqianming(index) {
|
|
|
+ this.form.keHu = ''
|
|
|
+ },
|
|
|
+ // 保存签名
|
|
|
+ save(val) {
|
|
|
+ this.form.keHu = val
|
|
|
+ this.popupShow = false
|
|
|
+ },
|
|
|
+ // 清除签名
|
|
|
+ clear(val) {
|
|
|
+ this.form.keHu = ''
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 关闭签名弹窗
|
|
|
+ */
|
|
|
+ close() {
|
|
|
+ this.popupShow = false
|
|
|
+ },
|
|
|
+
|
|
|
+ // 获取样品编号
|
|
|
+ getGtbh(callback) {
|
|
|
+ const smsParams = {
|
|
|
+ alias: 'gtbh'
|
|
|
}
|
|
|
+ const this_ = this
|
|
|
+ getNextIdByAlias(smsParams).then(res => {
|
|
|
+ if (res.state === 200) {
|
|
|
+ const data = res.data
|
|
|
+ this_.form.biaoDanBianHao = data
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
- created() {
|
|
|
-
|
|
|
- },
|
|
|
- computed: {
|
|
|
- rightText() {
|
|
|
- return this.checkMode ? this.$t('common.button.cancel') : this.$t('common.button.manage')
|
|
|
- },
|
|
|
- selectedIds() {
|
|
|
- return this.checkedIds.join(',')
|
|
|
+ getKehu() {
|
|
|
+ const info = this.$store.getters.userInfo
|
|
|
+ if (info) {
|
|
|
+ this.form.keHuDanWeiMin = info.user.qq
|
|
|
+ this.form.lianXiDianHua = info.user.mobile
|
|
|
+ // this.form.keHuDanWeiMingChe = info.user.id
|
|
|
+ this.form.keHuLianXiRen = info.user.fullname
|
|
|
+ this.form.gouTongLeiXing = '投诉'
|
|
|
+ this.form.gouTongRiQi = this.$methCommon.time(16)
|
|
|
+ this.xuanzeTime = new Date()
|
|
|
+ this.form.yongHuYouXiang = info.user.email
|
|
|
}
|
|
|
},
|
|
|
- methods: {
|
|
|
- closePop() {
|
|
|
- this.$emit('updataSet',false)
|
|
|
- },
|
|
|
- toCheckMode() {
|
|
|
- if (this.$utils.isEmpty(this.listData)) {
|
|
|
- return
|
|
|
- }
|
|
|
- if (this.checkMode) {
|
|
|
- this.show = true
|
|
|
- this.checkedIds = []
|
|
|
- }
|
|
|
- this.checkMode = !this.checkMode
|
|
|
- },
|
|
|
- actionSheetCallback(e) {
|
|
|
- this.form.gouTongLeiXing = e.text
|
|
|
- this.sheetShow = false
|
|
|
- },
|
|
|
- timeShowCallback(e) {
|
|
|
- const nowDate = new Date((e).getTime() + 8 * 60 * 60 * 1000)
|
|
|
- const time = nowDate.toJSON().split('T').join(' ').substr(0, 16)
|
|
|
- this.form.gouTongRiQi = time
|
|
|
- this.timeShow = false
|
|
|
- },
|
|
|
- gouTongRiQiClick(e){
|
|
|
- this.timeShow = true
|
|
|
- },
|
|
|
- // 获取上传状态
|
|
|
- select(file) {
|
|
|
- this.$uploades.selectUpload(file).then(res => {
|
|
|
- res.forEach(item => {
|
|
|
- this.fuJianShangChuanArray.push(item)
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- // 删除
|
|
|
- deleteMe(id) {
|
|
|
- this.fuJianShangChuanArray = this.fuJianShangChuanArray.filter(item => item.id !== id)
|
|
|
- },
|
|
|
- // 获取上传进度
|
|
|
- progress(e) {},
|
|
|
- // 上传成功
|
|
|
- success(file) {},
|
|
|
- // 上传失败
|
|
|
- fail(e) {},
|
|
|
- //弹出框显示
|
|
|
- qianming(index) {
|
|
|
- this.popupShow = true
|
|
|
- },
|
|
|
- //清除签名
|
|
|
- deqianming(index) {
|
|
|
- this.form.keHu = ''
|
|
|
- },
|
|
|
- //保存签名
|
|
|
- save(val) {
|
|
|
- this.form.keHu = val
|
|
|
- this.popupShow = false
|
|
|
- },
|
|
|
- //清除签名
|
|
|
- clear(val) {
|
|
|
- this.form.keHu = ''
|
|
|
- },
|
|
|
- /**
|
|
|
- * 关闭签名弹窗
|
|
|
- */
|
|
|
- close() {
|
|
|
- this.popupShow = false
|
|
|
- },
|
|
|
-
|
|
|
- //获取样品编号
|
|
|
- getGtbh(callback) {
|
|
|
- let smsParams = {
|
|
|
- alias: "gtbh"
|
|
|
- };
|
|
|
- let this_ = this
|
|
|
- getNextIdByAlias(smsParams).then(res => {
|
|
|
- if (res.state == 200) {
|
|
|
- const data = res.data
|
|
|
- this.form.biaoDanBianHao = data
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- getKehu() {
|
|
|
- let info = this.$store.getters.userInfo
|
|
|
- if (info) {
|
|
|
- this.form.keHuDanWeiMin = info.user.qq
|
|
|
- this.form.lianXiDianHua = info.user.mobile
|
|
|
- // this.form.keHuDanWeiMingChe = info.user.id
|
|
|
- this.form.keHuLianXiRen = info.user.fullname
|
|
|
- this.form.gouTongLeiXing = '投诉'
|
|
|
- this.form.gouTongRiQi = this.$methCommon.time(16)
|
|
|
- this.xuanzeTime = new Date()
|
|
|
- this.form.yongHuYouXiang = info.user.email
|
|
|
- }
|
|
|
- },
|
|
|
- getDe(id) {
|
|
|
- let sql =
|
|
|
- `select * from t_khgtjlb where id_ = ${id}`
|
|
|
+ getDe(id) {
|
|
|
+ const sql = `select * from t_khgtjlb where id_ = ${id}`
|
|
|
|
|
|
- this.$common.request('sql', sql).then(res => {
|
|
|
- if (res.state == 200) {
|
|
|
- const data = res.variables.data[0]
|
|
|
- this.form = {
|
|
|
- id: data.id_,
|
|
|
- xuanZeKeHu: data.xuan_ze_ke_hu_,
|
|
|
- biaoDanBianHao: data.biao_dan_bian_hao,
|
|
|
- buMenName: data.xuan_ze_ke_hu_,
|
|
|
- keHuDanWeiMin: data.ke_hu_dan_wei_min,
|
|
|
- keHuLianXiRen: data.ke_hu_lian_xi_ren,
|
|
|
- weiTuoDanHao: data.wei_tuo_dan_hao_,
|
|
|
- lianXiDianHua: data.lian_xi_dian_hua_,
|
|
|
- yangPinMingCheng: data.yang_pin_ming_che,
|
|
|
- yangPinBianHao: data.yang_pin_bian_hao,
|
|
|
- yangPinLeiXing: data.yang_pin_lei_xing,
|
|
|
- baoGaoBianHao: data.bao_gao_bian_hao_,
|
|
|
- gouTongLeiXing: data.gou_tong_lei_xing,
|
|
|
- gouTongNeiRong: data.gou_tong_nei_rong,
|
|
|
- keHu: data.ke_hu_,
|
|
|
- gouTongQueDingNei: data.gou_tong_que_ding,
|
|
|
- leiXing: data.lei_xing_,
|
|
|
- bianZhiShiJian: data.bian_zhi_shi_jian,
|
|
|
- gouTongRiQi: data.gou_tong_ri_qi_,
|
|
|
- yongHuYouXiang: data.yong_hu_you_xiang,
|
|
|
- gouTongRenYuan: data.gou_tong_ren_yuan,
|
|
|
- xuanZeKeHu: data.xuan_ze_ke_hu_,
|
|
|
- fuJian: data.fu_jian_
|
|
|
- }
|
|
|
- if (this.typeValue == '2' || this.typeValue == '4') {
|
|
|
- this.getTaskId(data.id_)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- getFileList(ids) {
|
|
|
- this.$uploades.getFilesList(ids, this).then(res => {
|
|
|
- this.fuJianShangChuanArray = res
|
|
|
- })
|
|
|
- },
|
|
|
- onSubmit() {
|
|
|
- if (!this.getYanZheng()) {
|
|
|
- return
|
|
|
- }
|
|
|
- let tmpArray = []
|
|
|
- this.fuJianShangChuanArray.forEach((item) => {
|
|
|
- tmpArray.push(item.id)
|
|
|
- })
|
|
|
+ this.$common.request('sql', sql).then(res => {
|
|
|
+ if (res.state === 200) {
|
|
|
+ const data = res.variables.data[0]
|
|
|
+ this.form = {
|
|
|
+ id: data.id_,
|
|
|
+ xuanZeKeHu: data.xuan_ze_ke_hu_,
|
|
|
+ biaoDanBianHao: data.biao_dan_bian_hao,
|
|
|
+ buMenName: data.xuan_ze_ke_hu_,
|
|
|
+ keHuDanWeiMin: data.ke_hu_dan_wei_min,
|
|
|
+ keHuLianXiRen: data.ke_hu_lian_xi_ren,
|
|
|
+ weiTuoDanHao: data.wei_tuo_dan_hao_,
|
|
|
+ lianXiDianHua: data.lian_xi_dian_hua_,
|
|
|
+ yangPinMingCheng: data.yang_pin_ming_che,
|
|
|
+ yangPinBianHao: data.yang_pin_bian_hao,
|
|
|
+ yangPinLeiXing: data.yang_pin_lei_xing,
|
|
|
+ baoGaoBianHao: data.bao_gao_bian_hao_,
|
|
|
+ gouTongLeiXing: data.gou_tong_lei_xing,
|
|
|
+ gouTongNeiRong: data.gou_tong_nei_rong,
|
|
|
+ keHu: data.ke_hu_,
|
|
|
+ gouTongQueDingNei: data.gou_tong_que_ding,
|
|
|
+ leiXing: data.lei_xing_,
|
|
|
+ bianZhiShiJian: data.bian_zhi_shi_jian,
|
|
|
+ gouTongRiQi: data.gou_tong_ri_qi_,
|
|
|
+ yongHuYouXiang: data.yong_hu_you_xiang,
|
|
|
+ gouTongRenYuan: data.gou_tong_ren_yuan,
|
|
|
+ fuJian: data.fu_jian_
|
|
|
+ }
|
|
|
+ if (this.typeValue === '2' || this.typeValue === '4') {
|
|
|
+ this.getTaskId(data.id_)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getFileList(ids) {
|
|
|
+ this.$uploades.getFilesList(ids, this).then(res => {
|
|
|
+ this.fuJianShangChuanArray = res
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ if (!this.getYanZheng()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const tmpArray = []
|
|
|
+ this.fuJianShangChuanArray.forEach(item => {
|
|
|
+ tmpArray.push(item.id)
|
|
|
+ })
|
|
|
|
|
|
- let info = this.$store.getters.userInfo
|
|
|
- let useId = info.user.id
|
|
|
- let detpId = info.employee.positions
|
|
|
- let para = {
|
|
|
- "parameters": [{
|
|
|
- "key": "defId",
|
|
|
- "value": "1056942070293331968"
|
|
|
- },
|
|
|
- {
|
|
|
- "key": "version",
|
|
|
- "value": "0"
|
|
|
- },
|
|
|
- {
|
|
|
- "key": "data",
|
|
|
- "value": ""
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- this.form.fuJian = tmpArray.join(",")
|
|
|
- this.form.bianZhiRen = useId
|
|
|
- this.form.bianZhiShiJian = this.$methCommon.time(16)
|
|
|
- // this.form.bianZhiBuMen = this.mainPosition.id || detpId
|
|
|
- this.form.bianZhiBuMen = detpId
|
|
|
-
|
|
|
- this.form.shiFouGuoShen = "已编制"
|
|
|
- this.form.diDian = this.level.second
|
|
|
- this.form.xuanZeKeHu = useId
|
|
|
- para.parameters[2].value = JSON.stringify(this.form)
|
|
|
- let that = this
|
|
|
-
|
|
|
- findFormJsonByBo(para).then(res => {
|
|
|
- if (res.data.state == 200) {
|
|
|
- this.$toast.success('提交成功!')
|
|
|
- setTimeout(() => {
|
|
|
- this.getPageA()
|
|
|
- }, 1000);
|
|
|
- }
|
|
|
- }).catch((err) => {
|
|
|
+ const info = this.$store.getters.userInfo
|
|
|
+ const useId = info.user.id
|
|
|
+ const detpId = info.employee.positions
|
|
|
+ const para = {
|
|
|
+ parameters: [
|
|
|
+ {
|
|
|
+ key: 'defId',
|
|
|
+ value: '1056942070293331968'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'version',
|
|
|
+ value: '0'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'data',
|
|
|
+ value: ''
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ this.form.fuJian = tmpArray.join(',')
|
|
|
+ this.form.bianZhiRen = useId
|
|
|
+ this.form.bianZhiShiJian = this.$methCommon.time(16)
|
|
|
+ // this.form.bianZhiBuMen = this.mainPosition.id || detpId
|
|
|
+ this.form.bianZhiBuMen = detpId
|
|
|
|
|
|
- });
|
|
|
- },
|
|
|
- onAgree(shiFouGuoShen, opinion, type) {
|
|
|
- if (this.typeValue !== '2' && !this.getYanZheng()) {
|
|
|
- return
|
|
|
- }
|
|
|
- let info = this.$store.getters.userInfo
|
|
|
- let useId = info.user.id
|
|
|
- let detpId = info.employee.positions
|
|
|
- let tmpArray = []
|
|
|
- this.fuJianShangChuanArray.forEach((item) => {
|
|
|
- tmpArray.push(item.id)
|
|
|
- })
|
|
|
- this.form.fuJian = tmpArray.join(",")
|
|
|
- this.form.shiFouGuoShen = shiFouGuoShen
|
|
|
- this.form.diDian = this.level.second
|
|
|
- this.form.shiFouGuoShen = shiFouGuoShen
|
|
|
- let editData = {
|
|
|
- data: JSON.stringify(this.form),
|
|
|
- opinion: opinion,
|
|
|
- taskId: this.taskId
|
|
|
- }
|
|
|
- agree(editData).then(res => {
|
|
|
- if (res.state == 200) {
|
|
|
+ this.form.shiFouGuoShen = '已编制'
|
|
|
+ this.form.diDian = this.level.second
|
|
|
+ this.form.xuanZeKeHu = useId
|
|
|
+ para.parameters[2].value = JSON.stringify(this.form)
|
|
|
+ const that = this
|
|
|
|
|
|
- if (this.typeValue == '2') {
|
|
|
- setTimeout(() => {
|
|
|
- this.getPath(this.id)
|
|
|
- }, 1000)
|
|
|
- } else {
|
|
|
- this.$toast.success(type + '成功!')
|
|
|
- this.getPageA()
|
|
|
- }
|
|
|
+ findFormJsonByBo(para)
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.state === 200) {
|
|
|
+ that.$toast.success('提交成功!')
|
|
|
+ setTimeout(() => {
|
|
|
+ that.closePop()
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {})
|
|
|
+ },
|
|
|
+ onAgree(shiFouGuoShen, opinion, type) {
|
|
|
+ if (this.typeValue !== '2' && !this.getYanZheng()) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // const info = this.$store.getters.userInfo
|
|
|
+ // const useId = info.user.id
|
|
|
+ // const detpId = info.employee.positions
|
|
|
+ const tmpArray = []
|
|
|
+ this.fuJianShangChuanArray.forEach(item => {
|
|
|
+ tmpArray.push(item.id)
|
|
|
+ })
|
|
|
+ this.form.fuJian = tmpArray.join(',')
|
|
|
+ this.form.shiFouGuoShen = shiFouGuoShen
|
|
|
+ this.form.diDian = this.level.second
|
|
|
+ this.form.shiFouGuoShen = shiFouGuoShen
|
|
|
+ const editData = {
|
|
|
+ data: JSON.stringify(this.form),
|
|
|
+ opinion: opinion,
|
|
|
+ taskId: this.taskId
|
|
|
+ }
|
|
|
+ agree(editData).then(res => {
|
|
|
+ if (res.state === 200) {
|
|
|
+ if (this.typeValue === '2') {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getPath(this.id)
|
|
|
+ }, 1000)
|
|
|
+ } else {
|
|
|
this.$toast.success(type + '成功!')
|
|
|
- setTimeout(() => {
|
|
|
- this.getPageA()
|
|
|
- }, 1000);
|
|
|
-
|
|
|
- } else {
|
|
|
- this.$toast.fail(type+'异常!')
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
- //生成快照
|
|
|
- getPath(id) {
|
|
|
- let org = this.level.first
|
|
|
-
|
|
|
- let url = this.$common.getRequest.downloadReport('咨询活动/客户沟通记录表.rpx', `id_=${id}&org_=${org}`)
|
|
|
- let data = {
|
|
|
- url,
|
|
|
- name: '用户沟通记录表' + this.$methCommon.time(19),
|
|
|
- type: 'pdf'
|
|
|
- }
|
|
|
- snapshot(data).then(res => {
|
|
|
- let result = res.data
|
|
|
- if (result.state == 200) {
|
|
|
- this.updateData(id, result.data.id)
|
|
|
- }
|
|
|
-
|
|
|
- })
|
|
|
- },
|
|
|
- updateData(id, fileId) {
|
|
|
- let pp = {
|
|
|
- updList: [{
|
|
|
- where: {
|
|
|
- id_: id
|
|
|
- },
|
|
|
- param: {
|
|
|
- kuai_zhao_: fileId,
|
|
|
- shi_fou_guo_shen_: '已完成'
|
|
|
- }
|
|
|
- }],
|
|
|
- tableName: "t_khgtjlb"
|
|
|
- }
|
|
|
- let data = this.$sig(pp)
|
|
|
- this.$common.request('update', data).then(res => {
|
|
|
- this.$methCommon.getPrompt('提交成功', 'success')
|
|
|
- setTimeout(() => {
|
|
|
- this.getPageA()
|
|
|
- }, 1000);
|
|
|
- })
|
|
|
- },
|
|
|
- getYanZheng() {
|
|
|
- let suList = ['keHuLianXiRen', 'keHuDanWeiMin', 'lianXiDianHua', 'yongHuYouXiang', 'weiTuoDanHao', 'gouTongNeiRong']
|
|
|
- let suListName = ['用户姓名', '用户单位', '联系电话', '用户邮箱', '沟通事项', '沟通内容']
|
|
|
- for (let item in suList) {
|
|
|
- if (!this.form[suList[item]]) {
|
|
|
- this.$toast({
|
|
|
- duration: 2000, // 持续展示 toast
|
|
|
- message: '请输入' + suListName[item]
|
|
|
- })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- let selList = ['gouTongRiQi', 'gouTongLeiXing']
|
|
|
- let selListName = ['沟通时间', '沟通类型']
|
|
|
- for (let item in selList) {
|
|
|
- if (!this.form[selList[item]]) {
|
|
|
- this.$toast({
|
|
|
- duration: 2000, // 持续展示 toast
|
|
|
- message: '请选择' + selListName[item]
|
|
|
- })
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
+ this.closePop()
|
|
|
+ }
|
|
|
+ this.$toast.success(type + '成功!')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.closePop()
|
|
|
+ }, 1000)
|
|
|
+ } else {
|
|
|
+ this.$toast.fail(type + '异常!')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 生成快照
|
|
|
+ getPath(id) {
|
|
|
+ const org = this.level.first
|
|
|
|
|
|
- if (!this.form.keHu) {
|
|
|
+ const url = this.$common.getRequest.downloadReport(
|
|
|
+ '咨询活动/客户沟通记录表.rpx',
|
|
|
+ `id_=${id}&org_=${org}`
|
|
|
+ )
|
|
|
+ const data = {
|
|
|
+ url,
|
|
|
+ name: '用户沟通记录表' + this.$methCommon.time(19),
|
|
|
+ type: 'pdf'
|
|
|
+ }
|
|
|
+ snapshot(data).then(res => {
|
|
|
+ const result = res.data
|
|
|
+ if (result.state === 200) {
|
|
|
+ this.updateData(id, result.data.id)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ updateData(id, fileId) {
|
|
|
+ const pp = {
|
|
|
+ updList: [
|
|
|
+ {
|
|
|
+ where: {
|
|
|
+ id_: id
|
|
|
+ },
|
|
|
+ param: {
|
|
|
+ kuai_zhao_: fileId,
|
|
|
+ shi_fou_guo_shen_: '已完成'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ tableName: 't_khgtjlb'
|
|
|
+ }
|
|
|
+ const data = this.$sig(pp)
|
|
|
+ this.$common.request('update', data).then(res => {
|
|
|
+ this.$methCommon.getPrompt('提交成功', 'success')
|
|
|
+ setTimeout(() => {
|
|
|
+ this.closePop()
|
|
|
+ }, 1000)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getYanZheng() {
|
|
|
+ const suList = [
|
|
|
+ 'keHuLianXiRen',
|
|
|
+ 'keHuDanWeiMin',
|
|
|
+ 'lianXiDianHua',
|
|
|
+ 'yongHuYouXiang',
|
|
|
+ 'weiTuoDanHao',
|
|
|
+ 'gouTongNeiRong'
|
|
|
+ ]
|
|
|
+ const suListName = [
|
|
|
+ '用户姓名',
|
|
|
+ '用户单位',
|
|
|
+ '联系电话',
|
|
|
+ '用户邮箱',
|
|
|
+ '沟通事项',
|
|
|
+ '沟通内容'
|
|
|
+ ]
|
|
|
+ for (const item in suList) {
|
|
|
+ if (!this.form[suList[item]]) {
|
|
|
this.$toast({
|
|
|
duration: 2000, // 持续展示 toast
|
|
|
- message: '请填写签名'
|
|
|
+ message: '请输入' + suListName[item]
|
|
|
})
|
|
|
- return false
|
|
|
- }
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (this.form.gouTongLeiXing == '其它' && !this.form.qiTa) {
|
|
|
+ const selList = ['gouTongRiQi', 'gouTongLeiXing']
|
|
|
+ const selListName = ['沟通时间', '沟通类型']
|
|
|
+ for (const item in selList) {
|
|
|
+ if (!this.form[selList[item]]) {
|
|
|
this.$toast({
|
|
|
duration: 2000, // 持续展示 toast
|
|
|
- message: '请填写其他类型'
|
|
|
+ message: '请选择' + selListName[item]
|
|
|
})
|
|
|
- return false
|
|
|
- }
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- return true
|
|
|
- },
|
|
|
- //根据委托单id查询 taskId
|
|
|
- getTaskId(id) {
|
|
|
- let sql = ``
|
|
|
- if (this.typeValue == '2') {
|
|
|
- sql =
|
|
|
- `select TASK_ID_,PROC_INST_ID_ from ibps_bpm_tasks where NAME_ = '确认' and NODE_ID_ = 'Activity_02lroj1' and PROC_DEF_KEY_ = 'Process_0pjp1fy' and EXEC_ID_ = (select PROC_INST_ID_ from act_ru_execution where ACT_ID_ = 'Activity_02lroj1' and BUSINESS_KEY_ = '${id}') ORDER BY CREATE_TIME_ desc`
|
|
|
- } else if (this.typeValue == '4') {
|
|
|
- sql =
|
|
|
- `select TASK_ID_,PROC_INST_ID_ from ibps_bpm_tasks where NAME_ = '沟通' and NODE_ID_ = 'Activity_0qy1dd7' and PROC_DEF_KEY_ = 'Process_0pjp1fy' and EXEC_ID_ = (select PROC_INST_ID_ from act_ru_execution where ACT_ID_ = 'Activity_0qy1dd7' and BUSINESS_KEY_ = '${id}') ORDER BY CREATE_TIME_ desc`
|
|
|
- }
|
|
|
- this.$common.request('sql', sql).then(res => {
|
|
|
- if (res.state == 200) {
|
|
|
- let result = res.variables.data[0]
|
|
|
- this.taskId = result.TASK_ID_
|
|
|
+ if (!this.form.keHu) {
|
|
|
+ this.$toast({
|
|
|
+ duration: 2000, // 持续展示 toast
|
|
|
+ message: '请填写签名'
|
|
|
+ })
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
- this.getProcInstId(result.PROC_INST_ID_)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- //根据委托单id查询 taskId
|
|
|
- getProcInstId(id) {
|
|
|
- let sql =
|
|
|
- `select OPTION_ from ibps_bpm_oper_log where PROC_INST_ID_ = '${id}' order by create_time_ desc limit 1`
|
|
|
- this.$common.request('sql', sql).then(res => {
|
|
|
- if (res.data.state == 200) {
|
|
|
- let result = res.data.variables.data[0]
|
|
|
- this.option = result.OPTION_
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- getShow() {
|
|
|
- this.$refs['picker'].show();
|
|
|
- },
|
|
|
- getPageA() {
|
|
|
- let pages = getCurrentPages()
|
|
|
- let prevPage = pages[pages.length - 2]
|
|
|
- prevPage.$vm.getValue()
|
|
|
- // uni.navigateBack({
|
|
|
- // dalta: 1
|
|
|
- // })
|
|
|
- },
|
|
|
- uploadClick(item) {
|
|
|
- if (/^(pdf|png|jpg|jpeg|gif)$/.test(item.ext)) {
|
|
|
- // uni.navigateTo({
|
|
|
- // url: `/pages/fileView/fileView?id=${item.id}&ext=${item.ext}`
|
|
|
- // })
|
|
|
- } else {
|
|
|
- this.$uploades.download(item.id, item.name, this)
|
|
|
- }
|
|
|
- },
|
|
|
- //退回原因
|
|
|
- getBack() {
|
|
|
- this.content = this.option
|
|
|
- this.backShow = true
|
|
|
- },
|
|
|
- cancel() {
|
|
|
- this.backShow = false
|
|
|
- },
|
|
|
- formatter(type, val) {
|
|
|
- if (type === 'year') {
|
|
|
- return val + '年';
|
|
|
- }
|
|
|
- if (type === 'month') {
|
|
|
- return val + '月';
|
|
|
+ if (this.form.gouTongLeiXing === '其它' && !this.form.qiTa) {
|
|
|
+ this.$toast({
|
|
|
+ duration: 2000, // 持续展示 toast
|
|
|
+ message: '请填写其他类型'
|
|
|
+ })
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ return true
|
|
|
+ },
|
|
|
+ // 根据委托单id查询 taskId
|
|
|
+ getTaskId(id) {
|
|
|
+ let sql = ``
|
|
|
+ if (this.typeValue === '2') {
|
|
|
+ sql = `select TASK_ID_,PROC_INST_ID_ from ibps_bpm_tasks where NAME_ = '确认' and NODE_ID_ = 'Activity_02lroj1' and PROC_DEF_KEY_ = 'Process_0pjp1fy' and EXEC_ID_ = (select PROC_INST_ID_ from act_ru_execution where ACT_ID_ = 'Activity_02lroj1' and BUSINESS_KEY_ = '${id}') ORDER BY CREATE_TIME_ desc`
|
|
|
+ } else if (this.typeValue === '4') {
|
|
|
+ sql = `select TASK_ID_,PROC_INST_ID_ from ibps_bpm_tasks where NAME_ = '沟通' and NODE_ID_ = 'Activity_0qy1dd7' and PROC_DEF_KEY_ = 'Process_0pjp1fy' and EXEC_ID_ = (select PROC_INST_ID_ from act_ru_execution where ACT_ID_ = 'Activity_0qy1dd7' and BUSINESS_KEY_ = '${id}') ORDER BY CREATE_TIME_ desc`
|
|
|
+ }
|
|
|
+ this.$common.request('sql', sql).then(res => {
|
|
|
+ if (res.state === 200) {
|
|
|
+ const result = res.variables.data[0]
|
|
|
+ this.taskId = result.TASK_ID_
|
|
|
+
|
|
|
+ this.getProcInstId(result.PROC_INST_ID_)
|
|
|
}
|
|
|
- if (type === 'day') {
|
|
|
- return val + '日';
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 根据委托单id查询 taskId
|
|
|
+ getProcInstId(id) {
|
|
|
+ const sql = `select OPTION_ from ibps_bpm_oper_log where PROC_INST_ID_ = '${id}' order by create_time_ desc limit 1`
|
|
|
+ this.$common.request('sql', sql).then(res => {
|
|
|
+ if (res.state === 200) {
|
|
|
+ const result = res.variables.data[0]
|
|
|
+ this.option = result.OPTION_
|
|
|
}
|
|
|
- return val;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getShow() {
|
|
|
+ this.$refs['picker'].show()
|
|
|
+ },
|
|
|
+ getPageA() {
|
|
|
+ // const pages = getCurrentPages()
|
|
|
+ // const prevPage = pages[pages.length - 2]
|
|
|
+ // prevPage.$vm.getValue()
|
|
|
+ // uni.navigateBack({
|
|
|
+ // dalta: 1
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ uploadClick(item) {
|
|
|
+ if (/^(pdf|png|jpg|jpeg|gif)$/.test(item.ext)) {
|
|
|
+ // uni.navigateTo({
|
|
|
+ // url: `/pages/fileView/fileView?id=${item.id}&ext=${item.ext}`
|
|
|
+ // })
|
|
|
+ } else {
|
|
|
+ this.$uploades.download(item.id, item.name, this)
|
|
|
}
|
|
|
+ },
|
|
|
+ // 退回原因
|
|
|
+ getBack() {
|
|
|
+ this.content = this.option
|
|
|
+ this.backShow = true
|
|
|
+ this.$dialog
|
|
|
+ .alert({
|
|
|
+ title: '退回原因',
|
|
|
+ message: this.option,
|
|
|
+ theme: 'round-button',
|
|
|
+ confirmButtonColor: '#1989fa'
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ // on close
|
|
|
+ })
|
|
|
+ },
|
|
|
+ cancel() {
|
|
|
+ this.backShow = false
|
|
|
+ },
|
|
|
+ formatter(type, val) {
|
|
|
+ if (type === 'year') {
|
|
|
+ return val + '年'
|
|
|
+ }
|
|
|
+ if (type === 'month') {
|
|
|
+ return val + '月'
|
|
|
+ }
|
|
|
+ if (type === 'day') {
|
|
|
+ return val + '日'
|
|
|
+ }
|
|
|
+ return val
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
- ::v-deep .van-cell__title {
|
|
|
- width: 65%;
|
|
|
+::v-deep .van-cell__title {
|
|
|
+ width: 65%;
|
|
|
|
|
|
- .van-cell__label {
|
|
|
- overflow-wrap: break-word;
|
|
|
- }
|
|
|
+ .van-cell__label {
|
|
|
+ overflow-wrap: break-word;
|
|
|
}
|
|
|
- .sectionBox {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 2px;
|
|
|
- font-size: 14px;
|
|
|
- color: rgba(128, 138, 135, .9);
|
|
|
-
|
|
|
- .left {
|
|
|
- width: 90px;
|
|
|
+}
|
|
|
+.sectionBox {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 2px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgba(128, 138, 135, 0.9);
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
- .sectionBox::before {
|
|
|
- content: '';
|
|
|
- width: 5px;
|
|
|
- height: 14px;
|
|
|
- border-radius: 2px;
|
|
|
- margin-right: 5px;
|
|
|
+ .left {
|
|
|
+ width: 90px;
|
|
|
}
|
|
|
- .btn-back-color {
|
|
|
- background-color: #30c2bd !important;
|
|
|
- border: none;
|
|
|
- }
|
|
|
- .btn-sty {
|
|
|
- padding: 0 13px;
|
|
|
- border-radius: 5px;
|
|
|
- }
|
|
|
- .u-m-r-15 {
|
|
|
- margin-right: 8px !important;
|
|
|
- }
|
|
|
- .verticalLine {
|
|
|
- color: #000;
|
|
|
- font-size: 13px;
|
|
|
- margin-bottom: 20px;
|
|
|
- }
|
|
|
- .verticalLine::before {
|
|
|
- content: '';
|
|
|
- width: 5px;
|
|
|
- height: 14px;
|
|
|
- background-color: #2979ff;
|
|
|
- border-radius: 2px;
|
|
|
- margin-right: 5px;
|
|
|
- }
|
|
|
- .suspensionBtn {
|
|
|
- width: 80px;
|
|
|
- height: 80px;
|
|
|
- position: fixed;
|
|
|
- top: 75%;
|
|
|
- right: 2%;
|
|
|
- img {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
- .backgroundSty {
|
|
|
+}
|
|
|
+.sectionBox::before {
|
|
|
+ content: '';
|
|
|
+ width: 5px;
|
|
|
+ height: 14px;
|
|
|
+ border-radius: 2px;
|
|
|
+ margin-right: 5px;
|
|
|
+}
|
|
|
+.btn-back-color {
|
|
|
+ background-color: #1989fa !important;
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+.btn-sty {
|
|
|
+ padding: 0 13px;
|
|
|
+ border-radius: 5px;
|
|
|
+}
|
|
|
+.u-m-r-15 {
|
|
|
+ margin-right: 8px !important;
|
|
|
+}
|
|
|
+.verticalLine {
|
|
|
+ color: #000;
|
|
|
+ font-size: 13px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+}
|
|
|
+.verticalLine::before {
|
|
|
+ content: '';
|
|
|
+ width: 5px;
|
|
|
+ height: 14px;
|
|
|
+ background-color: #2979ff;
|
|
|
+ border-radius: 2px;
|
|
|
+ margin-right: 5px;
|
|
|
+}
|
|
|
+.suspensionBtn {
|
|
|
+ width: 80px;
|
|
|
+ height: 80px;
|
|
|
+ position: fixed;
|
|
|
+ top: 75%;
|
|
|
+ right: 2%;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
height: 100%;
|
|
|
- background-color: #fff;
|
|
|
- }
|
|
|
- .cu-form-group .title {
|
|
|
- min-width: 180px;
|
|
|
- }
|
|
|
- .padding{
|
|
|
- padding-bottom: 15px;
|
|
|
- padding-top: 5px;
|
|
|
- background-color: #f8f8f8;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
}
|
|
|
- .btn {
|
|
|
- width: 90%;
|
|
|
- padding: 15px;
|
|
|
- border-radius: 5px;
|
|
|
- }
|
|
|
+}
|
|
|
+.backgroundSty {
|
|
|
+ height: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+}
|
|
|
+.cu-form-group .title {
|
|
|
+ min-width: 180px;
|
|
|
+}
|
|
|
+.padding {
|
|
|
+ padding-bottom: 15px;
|
|
|
+ padding-top: 5px;
|
|
|
+ background-color: #f8f8f8;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+.btn {
|
|
|
+ width: 90%;
|
|
|
+ padding: 15px;
|
|
|
+ border-radius: 5px;
|
|
|
+}
|
|
|
|
|
|
- .fileBox {
|
|
|
- line-height: 50px;
|
|
|
- color: #888888;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- border: 1px solid #DDDDDD;
|
|
|
- border-radius: 8px;
|
|
|
- padding: 5px;
|
|
|
- margin-top: 10px;
|
|
|
- }
|
|
|
+.fileBox {
|
|
|
+ line-height: 50px;
|
|
|
+ color: #888888;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ border: 1px solid #dddddd;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 5px;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
|
|
|
- .u-update-content {
|
|
|
- font-size: 26px;
|
|
|
- // color: $u-content-color;
|
|
|
- line-height: 1.7;
|
|
|
- padding: 30px;
|
|
|
- }
|
|
|
- .verticalLine {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- font-size: 14px;
|
|
|
- color: rgb(51, 51, 51);
|
|
|
- }
|
|
|
- .verticalLine::before {
|
|
|
- content: '';
|
|
|
- width: 5px;
|
|
|
- height: 14px;
|
|
|
- background-color: #2979ff;
|
|
|
- border-radius: 2px;
|
|
|
- margin-right: 5px;
|
|
|
- }
|
|
|
- .scrollView {
|
|
|
- overflow-y: scroll;
|
|
|
- height: 95%;
|
|
|
- }
|
|
|
- .scrollView::-webkit-scrollbar{
|
|
|
- display: none;
|
|
|
- }
|
|
|
- ::v-deep .yonghu .van-cell--borderless {
|
|
|
- padding-left: 8px;
|
|
|
- }
|
|
|
- ::v-deep .yonghu .van-cell .van-field__label {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: left;
|
|
|
- font-size: 14px;
|
|
|
- color: rgb(51, 51, 51);
|
|
|
- }
|
|
|
- ::v-deep .yonghu .van-cell .van-field__label::before {
|
|
|
- content: '';
|
|
|
- width: 5px;
|
|
|
- height: 14px;
|
|
|
- background-color: #2979ff;
|
|
|
- border-radius: 2px;
|
|
|
- margin-right: 5px;
|
|
|
- }
|
|
|
-</style>
|
|
|
+.u-update-content {
|
|
|
+ font-size: 26px;
|
|
|
+ // color: $u-content-color;
|
|
|
+ line-height: 1.7;
|
|
|
+ padding: 30px;
|
|
|
+}
|
|
|
+.verticalLine {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgb(51, 51, 51);
|
|
|
+}
|
|
|
+.verticalLine::before {
|
|
|
+ content: '';
|
|
|
+ width: 5px;
|
|
|
+ height: 14px;
|
|
|
+ background-color: #2979ff;
|
|
|
+ border-radius: 2px;
|
|
|
+ margin-right: 5px;
|
|
|
+}
|
|
|
+.scrollView {
|
|
|
+ overflow-y: scroll;
|
|
|
+ height: 95%;
|
|
|
+}
|
|
|
+.scrollView::-webkit-scrollbar {
|
|
|
+ display: none;
|
|
|
+}
|
|
|
+::v-deep .yonghu .van-cell--borderless {
|
|
|
+ padding-left: 8px;
|
|
|
+}
|
|
|
+::v-deep .yonghu .van-cell .van-field__label {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: left;
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgb(51, 51, 51);
|
|
|
+}
|
|
|
+::v-deep .yonghu .van-cell .van-field__label::before {
|
|
|
+ content: '';
|
|
|
+ width: 5px;
|
|
|
+ height: 14px;
|
|
|
+ background-color: #2979ff;
|
|
|
+ border-radius: 2px;
|
|
|
+ margin-right: 5px;
|
|
|
+}
|
|
|
+</style>
|