资金渠道必填

master
xy 1 year ago
parent 12807f7116
commit 9354b5720e

@ -20,6 +20,7 @@
"@vue/composition-api": "^1.7.2",
"axios": "0.18.1",
"core-js": "3.6.5",
"docx-preview": "^0.3.2",
"echarts": "^5.0.0",
"element-resize-detector": "^1.2.4",
"element-ui": "2.13.2",

@ -214,6 +214,33 @@
</el-select>
</el-form-item>
<el-form-item prop="money_way_id" label="资金渠道">
<el-select
multiple
size="small"
clearable
disabled
placeholder="请选择资金渠道"
:value="
form.money_way_id
? form.money_way_id.split(',').map((i) => Number(i))
: []
"
style="width: 100%"
@change="
(e) => {
form.money_way_id = e.length > 0 ? e.toString() : '';
}
"
>
<el-option
v-for="item in moneyWay"
:value="item.id"
:label="item.value"
></el-option>
</el-select>
</el-form-item>
<template v-if="form.is_simple">
<el-form-item prop="supply" label="承包商/供货商">
<el-input
@ -300,33 +327,6 @@
</el-select>
</el-form-item>
<el-form-item prop="money_way_id" label="资金渠道">
<el-select
multiple
size="small"
clearable
disabled
placeholder="请选择资金渠道"
:value="
form.money_way_id
? form.money_way_id.split(',').map((i) => Number(i))
: []
"
style="width: 100%"
@change="
(e) => {
form.money_way_id = e.length > 0 ? e.toString() : '';
}
"
>
<el-option
v-for="item in moneyWay"
:value="item.id"
:label="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item prop="plan_price" label="预算价(元)">
<InputNumber
style="width: 100%"
@ -1107,12 +1107,8 @@ export default {
money_way_id: [
{
validator: (rule, value, callback) => {
if (!this.form.is_simple) {
if (!this.hasValue(value)) {
callback(new Error("必填"));
} else {
callback();
}
if (!this.hasValue(value)) {
callback(new Error("必填"));
} else {
callback();
}

@ -9,6 +9,12 @@
<template v-if="type === 'pdf'">
<VueOfficePdf :src="url" style="height: 100vh;"></VueOfficePdf>
</template>
<!-- <template v-if="type === 'doc'">-->
<!-- <div ref="docPreview" style="height: 100vh;"></div>-->
<!-- </template>-->
<template v-if="type === 'png' || type === 'jpg' || type === 'jpeg' || type === 'gif'">
<img :src="url" style="width: 100vw;height: 100vh;object-fit: contain" alt="">
</template>
</div>
</template>
@ -24,6 +30,7 @@ import '@vue-office/excel/lib/index.css'
//VueOfficePdf
import VueOfficePdf from '@vue-office/pdf'
import axios from 'axios'
//import { renderAsync } from 'docx-preview'
export default {
components: {
VueOfficeDocx,
@ -37,7 +44,7 @@ export default {
}
},
methods: {
resolveUrl(url) {
async resolveUrl(url) {
if(url) {
let originalUrl
try {
@ -48,11 +55,19 @@ export default {
this.type = this.$route.query.type || originalUrl.split('.').at(-1)
try {
this.url = process.env.VUE_APP_DOMIAN + (window.location.origin === window.top.location.origin ? '' : '/oa') + new URL(originalUrl).pathname
console.log(this.url)
} catch (err) {
//this.url = this.$route.query.url
this.url = process.env.VUE_APP_DOMIAN + '/oa' + new URL(originalUrl).pathname
}
}
console.log(this.url)
// if(this.type === 'doc') {
// const res = await fetch(this.url)
// const blob = res.blob()
// this.$nextTick(() => {
// renderAsync(blob, this.$refs['docPreview'])
// })
// }
}
},
computed: {},

Loading…
Cancel
Save