|
@@ -5,18 +5,19 @@
|
|
|
<el-tab-pane label="需求订单详情" name="1">
|
|
|
<el-collapse v-model="activeNames" style="margin: -18px 0 0 0">
|
|
|
<el-collapse-item title="需求订单详情" name="1">
|
|
|
- <demand-detail :sitem="sitem" @refresh="refresh" @switchNode="handleSwitchNode" />
|
|
|
+ <demand-detail :sitem="sitem" @refresh="refresh" @switch-node="handleSwitchNode" />
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="评估预算函管理" name="2" v-if="Number(sitem.status) === 1">
|
|
|
- <manage-budgeet-letter :sitem="sitem" @selectedChange="handleSelectedChange($event,'budget')" />
|
|
|
+ <manage-budgeet-letter :sitem="sitem" @selected-change="handleSelectedChange($event,'budget')" />
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="活动方案管理" name="3" v-if="Number(sitem.status) === 2">
|
|
|
- <manage-activity-scheme :sitem="sitem" @selectedChange="handleSelectedChange($event,'activity')" />
|
|
|
+ <manage-activity-scheme :sitem="sitem" @selected-change="handleSelectedChange($event,'activity')" />
|
|
|
</el-collapse-item>
|
|
|
+
|
|
|
<el-collapse-item title="计划预算函管理" name="10" v-if="Number(sitem.status) === 3">
|
|
|
- <manage-project-letter :sitem="sitem" @selectedChange="handleSelectedChange($event,'project')" />
|
|
|
+ <manage-project-letter :sitem="sitem" @selected-change="handleSelectedChange($event,'project')" />
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="待客户上传确认凭证" name="4" v-if="Number(sitem.status) === 4">
|
|
@@ -25,11 +26,10 @@
|
|
|
|
|
|
<el-collapse-item title="待平台审核执行凭证" name="5" v-if="Number(sitem.status) === 5">
|
|
|
<wait-execute-certificate :sitem="sitem" @refresh="initData" />
|
|
|
- </el-collapse-item>
|
|
|
+ </el-collapse-item>,
|
|
|
|
|
|
<el-collapse-item title="待供应商确认已执行" name="6" v-if="Number(sitem.status) === 6">
|
|
|
<wait-supplier-confirm :sitem="sitem" @refresh="initData" />
|
|
|
- <!-- <credentials-node @confirm="handleSupplierConfirm($event)" /> -->
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="待客户确认已执行" name="7" v-if="Number(sitem.status) === 7">
|
|
@@ -37,8 +37,7 @@
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="待供应商上传结算函" name="8" v-if="Number(sitem.status) === 9">
|
|
|
- <!-- <letter title="结算" /> -->
|
|
|
- <settlement-letter :sitem="sitem" @refresh="initData" />
|
|
|
+ <letter type="settlement" :requsetMethod="handleUploadLetter" :isFile="true" />
|
|
|
</el-collapse-item>
|
|
|
|
|
|
<el-collapse-item title="待客户确认结算函" name="9" v-if="Number(sitem.status) === 10">
|
|
@@ -52,24 +51,24 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import asyncRequest from "@/apis/service/customerService/demandOrder";
|
|
|
-import privateField from '../../../mixins/privateField';
|
|
|
+
|
|
|
+import privateField from '@/mixins/privateField'
|
|
|
import DemandDetail from "./components/demandDetail/index.vue"
|
|
|
import ManageBudgeetLetter from "./components/manageBudgetLetter.vue"
|
|
|
-import ManageActivityScheme from "./components/manageActivityScheme.vue"
|
|
|
import ManageProjectLetter from "./components/manageProjectLetter.vue"
|
|
|
-import WaitExecuteCertificate from "./components/waitExecuteCertificate.vue"
|
|
|
import WaitSupplierConfirm from "./components/waitSupplierConfirm.vue"
|
|
|
import WaitCustomerConfirm from "./components/waitCustomerConfirm.vue"
|
|
|
import SettlementLetter from "./components/settlementLetter/index.vue"
|
|
|
+import workbenchRequest from "@/apis/service/customerService/workbench"
|
|
|
+import ManageActivityScheme from "./components/manageActivityScheme.vue"
|
|
|
+import WaitExecuteCertificate from "./components/waitExecuteCertificate.vue"
|
|
|
|
|
|
-// import LetterModal from "./components/letterModal/index.vue"
|
|
|
-import resToken from "@/mixins/resToken";
|
|
|
import { mapGetters } from "vuex";
|
|
|
import { statusList } from "./columns";
|
|
|
+import resToken from "@/mixins/resToken";
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
- // LetterModal,
|
|
|
DemandDetail,
|
|
|
ManageBudgeetLetter,
|
|
|
WaitSupplierConfirm,
|
|
@@ -82,7 +81,13 @@ export default {
|
|
|
name: "demandOrderDetail",
|
|
|
mixins: [resToken,privateField],
|
|
|
computed: {
|
|
|
- ...mapGetters(["tablebtnSize", "searchSize", "size", "private_field", "isSupertube"]),
|
|
|
+ ...mapGetters([
|
|
|
+ "tablebtnSize",
|
|
|
+ "searchSize",
|
|
|
+ "size",
|
|
|
+ "private_field",
|
|
|
+ "isSupertube"
|
|
|
+ ]),
|
|
|
powers() {
|
|
|
const { btnList } = this.$store.getters;
|
|
|
const tran = btnList.find((item) => item.menu_route == "demandOrderDetail") || {};
|
|
@@ -181,8 +186,9 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if(updatedStatus === 4 && (this.selected.project === 0 || this.selected.project > 1) ){
|
|
|
- this.$message.warning('未选择计划预算函')
|
|
|
+ if(updatedStatus === 4 && this.selected.project !== 1){
|
|
|
+ const warn = this.selected.project === 0 ? '未选择结算函' : '只能选一个结算'
|
|
|
+ this.$message.warning(warn)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
@@ -191,6 +197,21 @@ export default {
|
|
|
if(code !== 1) return
|
|
|
this.initForm()
|
|
|
},
|
|
|
+ async handleUploadLetter(settleinfo, file_url){
|
|
|
+ const params = {
|
|
|
+ id: this.sitem.id,
|
|
|
+ settleinfo,
|
|
|
+ file_url
|
|
|
+ }
|
|
|
+
|
|
|
+ const result = await workbenchRequest.settle(params)
|
|
|
+
|
|
|
+ if(reuslt.code === 1){
|
|
|
+ this.initData()
|
|
|
+ }
|
|
|
+
|
|
|
+ return result
|
|
|
+ },
|
|
|
async handleCustomerConfirm(data){
|
|
|
const { credentials: proof_url } = data
|
|
|
const { code } = await asyncRequest.proofCheck({ id: this.sitem.id,proof_url, status: 5 })
|
|
@@ -204,12 +225,7 @@ export default {
|
|
|
this.initData()
|
|
|
},
|
|
|
async handleConfirmSettlement(data){
|
|
|
- const { code } = await asyncRequest.status({
|
|
|
- id:this.sitem.id,
|
|
|
- ...data,
|
|
|
- status:data.status === '1' ? '11' : '12',
|
|
|
- })
|
|
|
-
|
|
|
+ const { code } = await asyncRequest.status({ id:this.sitem.id, ...data, status:data.status === '1' ? '12' : '11' })
|
|
|
if(code !== 1) return
|
|
|
this.initData()
|
|
|
},
|
|
@@ -240,7 +256,7 @@ export default {
|
|
|
padding: 10px;
|
|
|
height: 100%;
|
|
|
width: 100%;
|
|
|
- }
|
|
|
+ }
|
|
|
.bargainListDetail-title {
|
|
|
border-top: 1px solid #ebeef5;
|
|
|
span {
|