|
@@ -19,9 +19,13 @@
|
|
:form-items="examineInfo">
|
|
:form-items="examineInfo">
|
|
</zj-form-module>
|
|
</zj-form-module>
|
|
</zj-form-container>
|
|
</zj-form-container>
|
|
- <div v-if="formData.flag == 'WAIT'" slot="footer" class="dialog-footer">
|
|
|
|
|
|
+ <div v-if="formType == 1 && formData.flag == 'WAIT'" slot="footer" class="dialog-footer">
|
|
<el-button size="mini" type="primary" @click="shenhexinxi">审核</el-button>
|
|
<el-button size="mini" type="primary" @click="shenhexinxi">审核</el-button>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="formType == 0 && formData.payStatus == 'WAIT' && formData.payType == 1" slot="footer"
|
|
|
|
+ class="dialog-footer">
|
|
|
|
+ <el-button size="mini" type="primary" @click="() => { wxPay(formData.id) }">扫码支付</el-button>
|
|
|
|
+ </div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
<div class="cartographer">
|
|
<div class="cartographer">
|
|
@@ -39,19 +43,29 @@
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-dialog title="微信支付" :visible.sync="isPay" width="50%" :close-on-click-modal="false" :modal-append-to-body="false"
|
|
|
|
+ @close="codeUrl = ''">
|
|
|
|
+ <h3 style="text-align: center;">扫二维码支付</h3>
|
|
|
|
+ <div ref="payQRCode" style="display: flex; justify-content: center;" />
|
|
|
|
+ <div style="color: #EA8000;text-align: center;margin-top: 20px;">注:支付成功后,方可操作确认提货!</div>
|
|
|
|
+ <div style="display: flex;justify-content: flex-end;margin-top: 30px;">
|
|
|
|
+ <el-button size="mini" type="text" @click="codeUrl = ''">取消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
</template-page>
|
|
</template-page>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import TemplatePage from '@/components/template/template-page-1.vue'
|
|
import TemplatePage from '@/components/template/template-page-1.vue'
|
|
import import_mixin from '@/components/template/import_mixin.js'
|
|
import import_mixin from '@/components/template/import_mixin.js'
|
|
-import { increOrderSettleExamine, increOrderSettleGetBrand, increOrderSettleList, increOrderSettleListExport, increOrderSettleAdd, increOrderSettleDetail, increOrderSettleConfirm, increOrderSettleRefund } from "@/api/orderSettleManag.js"
|
|
|
|
|
|
+import { increOrderSettleExamine, increOrderSettleGetBrand, increOrderSettleGeneratePayCode, increOrderSettleList, increOrderSettleListExport, increOrderSettleAdd, increOrderSettleDetail, increOrderSettleConfirm, increOrderSettleRefund } from "@/api/orderSettleManag.js"
|
|
import operation_mixin from '@/components/template/operation_mixin.js'
|
|
import operation_mixin from '@/components/template/operation_mixin.js'
|
|
import formItems from "../mixins/formItems.js"
|
|
import formItems from "../mixins/formItems.js"
|
|
import basicInfo from "../mixins/basicInfo.js"
|
|
import basicInfo from "../mixins/basicInfo.js"
|
|
import serviceInfo from "../mixins/serviceInfo.js"
|
|
import serviceInfo from "../mixins/serviceInfo.js"
|
|
import productInfo from "../mixins/productInfo.js"
|
|
import productInfo from "../mixins/productInfo.js"
|
|
import examineInfo from "../mixins/examineInfo.js"
|
|
import examineInfo from "../mixins/examineInfo.js"
|
|
|
|
+import QRCode from "qrcodejs2";
|
|
export default {
|
|
export default {
|
|
props: {
|
|
props: {
|
|
storageType: {
|
|
storageType: {
|
|
@@ -63,6 +77,8 @@ export default {
|
|
mixins: [import_mixin, operation_mixin, formItems, basicInfo, serviceInfo, productInfo, examineInfo],
|
|
mixins: [import_mixin, operation_mixin, formItems, basicInfo, serviceInfo, productInfo, examineInfo],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ isPay: false,
|
|
|
|
+ codeUrl: "",
|
|
// 表格属性
|
|
// 表格属性
|
|
tableAttributes: {
|
|
tableAttributes: {
|
|
},
|
|
},
|
|
@@ -182,7 +198,51 @@ export default {
|
|
]
|
|
]
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ watch: {
|
|
|
|
+ codeUrl(newVal) {
|
|
|
|
+ this.isPay = !!newVal
|
|
|
|
+ if (!this.isPay) {
|
|
|
|
+ if(this.wxpayTimeId){
|
|
|
|
+ clearTimeout(this.wxpayTimeId)
|
|
|
|
+ }
|
|
|
|
+ this.formCancel()
|
|
|
|
+ this.addFormCancel()
|
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
|
|
+ wxPay(id) {
|
|
|
|
+ increOrderSettleGeneratePayCode({ id }).then(res => {
|
|
|
|
+ this.codeUrl = res.data.codeUrl
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ new QRCode(this.$refs.payQRCode, {
|
|
|
|
+ text: res.data.codeUrl,
|
|
|
|
+ width: 200,
|
|
|
|
+ height: 200,
|
|
|
|
+ colorDark: "#333333", // 二维码颜色
|
|
|
|
+ colorLight: "#ffffff", // 二维码背景色
|
|
|
|
+ correctLevel: QRCode.CorrectLevel.L // 容错率,L/M/H
|
|
|
|
+ });
|
|
|
|
+ this.wxpaygetDetail(id)
|
|
|
|
+ });
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ wxpaygetDetail(id) {
|
|
|
|
+ if (this.wxpayTimeId) {
|
|
|
|
+ clearTimeout(this.wxpayTimeId)
|
|
|
|
+ }
|
|
|
|
+ this.wxpayTimeId = setTimeout(() => {
|
|
|
|
+ increOrderSettleDetail({ id }).then(res => {
|
|
|
|
+ if (res.data.payStatus == "PAID" && res.data.payType == 1) {
|
|
|
|
+ this.codeUrl = ""
|
|
|
|
+ this.addFormCancel()
|
|
|
|
+ } else {
|
|
|
|
+ this.wxpaygetDetail(id)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }, 1000)
|
|
|
|
+ },
|
|
// 列表请求函数
|
|
// 列表请求函数
|
|
getList(p, cb) {
|
|
getList(p, cb) {
|
|
var pam = JSON.parse(JSON.stringify(p))
|
|
var pam = JSON.parse(JSON.stringify(p))
|
|
@@ -305,8 +365,11 @@ export default {
|
|
"machineImg": this.addFormData.machineImg.map(item => item.url).join(","),
|
|
"machineImg": this.addFormData.machineImg.map(item => item.url).join(","),
|
|
}).then(res => {
|
|
}).then(res => {
|
|
this.$message({ type: 'success', message: `新增成功!` })
|
|
this.$message({ type: 'success', message: `新增成功!` })
|
|
- this.addFormCancel()
|
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
|
|
|
+ if (res.data.payStatus == "WAIT" && res.data.payType == 1) {
|
|
|
|
+ this.wxPay(res.data.id)
|
|
|
|
+ } else {
|
|
|
|
+ this.addFormCancel()
|
|
|
|
+ }
|
|
})
|
|
})
|
|
}
|
|
}
|
|
})
|
|
})
|