作者 Win10-2023FDZSZ\Administrator

询价、投标增加按钮权限,投标增加审核功能

@@ -91,7 +91,7 @@ @@ -91,7 +91,7 @@
91 </template> 91 </template>
92 92
93 <template slot="action" slot-scope="text, record"> 93 <template slot="action" slot-scope="text, record">
94 - <a @click="downloadBidFile(record)">生成投标文件</a> 94 + <a @click="downloadBidFile(record)" v-has="'bid:add'" >生成投标文件</a>
95 <!-- <a @click="handleEdit(record)">编辑</a> 95 <!-- <a @click="handleEdit(record)">编辑</a>
96 <a-divider type="vertical"/> 96 <a-divider type="vertical"/>
97 <a-dropdown> 97 <a-dropdown>
@@ -43,8 +43,9 @@ @@ -43,8 +43,9 @@
43 </template> 43 </template>
44 44
45 <span slot="action" slot-scope="text, record"> 45 <span slot="action" slot-scope="text, record">
46 - <a @click="handleEdit(record)">投标</a> 46 + <a @click="handleEdit(record)" v-has="'bid:add'" v-if="record.status === '1'">投标</a>
47 47
  48 + <a @click="handleBidApproval(record)" v-has="'bid:approval'" v-if="record.status === '2'">审核</a>
48 <!-- <a-divider type="vertical" /> 49 <!-- <a-divider type="vertical" />
49 <a-dropdown> 50 <a-dropdown>
50 <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> 51 <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
@@ -64,7 +65,7 @@ @@ -64,7 +65,7 @@
64 </a-table> 65 </a-table>
65 </div> 66 </div>
66 67
67 - <tbl-trade-bid-sub-modal ref="modalForm" @ok="modalFormOk" :formType="'tb'"/> 68 + <tbl-trade-bid-sub-modal ref="modalForm" @ok="modalFormOk" :formType="formType"/>
68 </div> 69 </div>
69 </template> 70 </template>
70 71
@@ -90,6 +91,7 @@ @@ -90,6 +91,7 @@
90 return { 91 return {
91 description: '投标表管理页面', 92 description: '投标表管理页面',
92 disableMixinCreated: true, 93 disableMixinCreated: true,
  94 + formType: '',
93 // 表头 95 // 表头
94 columns: [ 96 columns: [
95 { 97 {
@@ -263,6 +265,19 @@ @@ -263,6 +265,19 @@
263 } 265 }
264 }, 266 },
265 methods: { 267 methods: {
  268 + handleEdit(record) {
  269 + this.formType = 'tb'
  270 + this.$refs.modalForm.edit(record)
  271 + this.$refs.modalForm.title = '投标'
  272 + this.$refs.modalForm.disableSubmit = false
  273 + },
  274 + handleBidApproval(record) {
  275 + console.log(record)
  276 + this.formType = 'tbsp'
  277 + this.$refs.modalForm.edit(record)
  278 + this.$refs.modalForm.title = '审批'
  279 + this.$refs.modalForm.disableSubmit = false
  280 + },
266 modalFormOk() { 281 modalFormOk() {
267 this.loadData(this.record) 282 this.loadData(this.record)
268 }, 283 },
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 </template> 42 </template>
43 43
44 <span slot="action" slot-scope="text, record"> 44 <span slot="action" slot-scope="text, record">
45 - <div v-if="record.status == '1'"> 45 + <div v-if="record.status == '1'" v-has="'inquiry:add'">
46 <a @click="handleEdit(record)">编辑</a> 46 <a @click="handleEdit(record)">编辑</a>
47 <a-divider type="vertical" /> 47 <a-divider type="vertical" />
48 <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> 48 <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
  1 +<template>
  2 + <a-spin :spinning="confirmLoading">
  3 + <j-form-container :disabled="formDisabled">
  4 + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
  5 + <a-row>
  6 + <a-col :span="12" >
  7 + <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code">
  8 + <a-input v-model="model.tenderInfo.code" disabled></a-input>
  9 + </a-form-model-item>
  10 + </a-col>
  11 + <a-col :span="12" >
  12 + <a-form-model-item label="标段(包)名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tenderName">
  13 + <a-input v-model="model.tenderInfo.tenderName" disabled></a-input>
  14 + </a-form-model-item>
  15 + </a-col>
  16 + <a-col :span="12" >
  17 + <a-form-model-item label="物料长描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="miaoshu">
  18 + <a-input v-model="model.tenderInfo.miaoshu" disabled></a-input>
  19 + </a-form-model-item>
  20 + </a-col>
  21 + <a-col :span="12" >
  22 + <a-form-model-item label="品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pinpai">
  23 + <a-input v-model="model.tenderInfo.pinpai" disabled></a-input>
  24 + </a-form-model-item>
  25 + </a-col>
  26 +
  27 + <a-col :span="12" >
  28 + <a-form-model-item label="计量单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jldw">
  29 + <a-input v-model="model.tenderInfo.jldw" disabled></a-input>
  30 + </a-form-model-item>
  31 + </a-col>
  32 + <a-col :span="12" >
  33 + <a-form-model-item label="需求数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqsl">
  34 + <a-input v-model="model.tenderInfo.xqsl" disabled></a-input>
  35 + </a-form-model-item>
  36 + </a-col>
  37 + <a-col :span="12" >
  38 + <a-form-model-item label="需求交货期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqjhq">
  39 + <j-date v-model="model.tenderInfo.xqjhq" style="width: 100%" disabled/>
  40 + </a-form-model-item>
  41 + </a-col>
  42 + <a-col :span="12" >
  43 + <a-form-model-item label="需求单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xqdw">
  44 + <a-input v-model="model.tenderInfo.xqdw" disabled ></a-input>
  45 + </a-form-model-item>
  46 + </a-col>
  47 +
  48 + <a-col :span="12" >
  49 + <a-form-model-item label="库存数据" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="kcsj">
  50 + <a-input v-model="model.kcsj" disabled ></a-input>
  51 + </a-form-model-item>
  52 + </a-col>
  53 + <a-col :span="12" >
  54 + <a-form-model-item label="在途库存" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ztkf">
  55 + <a-input v-model="model.ztkf" disabled></a-input>
  56 + </a-form-model-item>
  57 + </a-col>
  58 + <a-col :span="12" >
  59 + <a-form-model-item label="最近中标单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjzbdj">
  60 + <a-input v-model="model.zjzbdj" disabled></a-input>
  61 + </a-form-model-item>
  62 + </a-col>
  63 + <a-col :span="12" >
  64 + <a-form-model-item label="最后一次中标时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zhzbsj">
  65 + <a-input v-model="model.zhzbsj" disabled></a-input>
  66 + </a-form-model-item>
  67 + </a-col>
  68 +
  69 + <a-col :span="12" >
  70 + <a-form-model-item label="投标参考价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tbjg">
  71 + <a-input-number v-model="model.tbjg" placeholder="投标参考价" style="width: 14vw" disabled></a-input-number>
  72 + </a-form-model-item>
  73 + </a-col>
  74 + <a-col :span="12" >
  75 + <a-form-model-item label="税率(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sl">
  76 + <a-input-number v-model="model.sl" placeholder="税率(%)" style="width: 14vw" ></a-input-number>
  77 + </a-form-model-item>
  78 + </a-col>
  79 + <a-col :span="12" >
  80 + <a-form-model-item label="响应品牌" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xypp">
  81 + <a-input v-model="model.xypp" placeholder="响应品牌" ></a-input>
  82 + </a-form-model-item>
  83 + </a-col>
  84 + <a-col :span="12" >
  85 + <a-form-model-item label="响应单价(不含税)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xydj">
  86 + <a-input-number v-model="model.xydj" placeholder="响应单价(不含税)" style="width: 14vw" ></a-input-number>
  87 + </a-form-model-item>
  88 + </a-col>
  89 +
  90 + </a-row>
  91 + </a-form-model>
  92 + </j-form-container>
  93 + </a-spin>
  94 +</template>
  95 +
  96 +<script>
  97 +
  98 + import { httpAction, getAction } from '@/api/manage'
  99 + import { validateDuplicateValue } from '@/utils/util'
  100 +
  101 + export default {
  102 + name: 'TblTradeBidSubApprovalForm',
  103 + components: {
  104 + },
  105 + props: {
  106 + // 表单禁用
  107 + disabled: {
  108 + type: Boolean,
  109 + default: false,
  110 + required: false
  111 + }
  112 + },
  113 + data () {
  114 + return {
  115 + model: {
  116 + tenderInfo: {}
  117 + },
  118 + labelCol: {
  119 + xs: { span: 24 },
  120 + sm: { span: 5 }
  121 + },
  122 + wrapperCol: {
  123 + xs: { span: 24 },
  124 + sm: { span: 16 }
  125 + },
  126 + confirmLoading: false,
  127 + validatorRules: {
  128 + sl: [{ required: true, message: '请输入数据!' }],
  129 + xypp: [{ required: true, message: '请输入数据!' }],
  130 + xydj: [{ required: true, message: '请输入数据!' }]
  131 + },
  132 + url: {
  133 + edit: '/trade/tblTradeBidSub/bidApproval'
  134 + }
  135 + }
  136 + },
  137 + computed: {
  138 + formDisabled() {
  139 + return this.disabled
  140 + }
  141 + },
  142 + created () {
  143 + // 备份model原始值
  144 + this.modelDefault = JSON.parse(JSON.stringify(this.model))
  145 + },
  146 + methods: {
  147 + add () {
  148 + this.edit(this.modelDefault)
  149 + },
  150 + edit (record) {
  151 + this.model = Object.assign({}, record)
  152 + this.visible = true
  153 + },
  154 + handleOk () {
  155 + const that = this
  156 + // 触发表单验证
  157 + this.$refs.form.validate(valid => {
  158 + if (valid) {
  159 + that.confirmLoading = true
  160 + let httpurl = ''
  161 + let method = ''
  162 + if (!this.model.id) {
  163 + httpurl += this.url.add
  164 + method = 'post'
  165 + } else {
  166 + httpurl += this.url.edit
  167 + method = 'post'
  168 + }
  169 + httpAction(httpurl, this.model, method).then((res) => {
  170 + if (res.success) {
  171 + that.$message.success(res.message)
  172 + that.$emit('ok')
  173 + } else {
  174 + that.$message.warning(res.message)
  175 + }
  176 + }).finally(() => {
  177 + that.confirmLoading = false
  178 + })
  179 + }
  180 + })
  181 + }
  182 + }
  183 + }
  184 +</script>
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" 9 :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
10 @cancel="handleCancel"> 10 @cancel="handleCancel">
11 <tbl-trade-bid-sub-form v-if="formType == 'tb'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/> 11 <tbl-trade-bid-sub-form v-if="formType == 'tb'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
  12 + <tbl-trade-bid-sub-approval-form v-if="formType == 'tbsp'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
12 <TblTradeInquiryApprovalForm v-if="formType == 'sp'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/> 13 <TblTradeInquiryApprovalForm v-if="formType == 'sp'" ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
13 </j-modal> 14 </j-modal>
14 </template> 15 </template>
@@ -17,12 +18,14 @@ @@ -17,12 +18,14 @@
17 18
18 import TblTradeBidSubForm from './TblTradeBidSubForm' 19 import TblTradeBidSubForm from './TblTradeBidSubForm'
19 import TblTradeInquiryApprovalForm from './TblTradeInquiryApprovalForm' 20 import TblTradeInquiryApprovalForm from './TblTradeInquiryApprovalForm'
  21 + import TblTradeBidSubApprovalForm from './TblTradeBidSubApprovalForm'
20 22
21 export default { 23 export default {
22 name: 'TblTradeBidSubModal', 24 name: 'TblTradeBidSubModal',
23 components: { 25 components: {
24 TblTradeBidSubForm, 26 TblTradeBidSubForm,
25 - TblTradeInquiryApprovalForm 27 + TblTradeInquiryApprovalForm,
  28 + TblTradeBidSubApprovalForm
26 }, 29 },
27 props: { 30 props: {
28 formType: { 31 formType: {
@@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
45 45
46 <span slot="action" slot-scope="text, record"> 46 <span slot="action" slot-scope="text, record">
47 <!-- 状态:1-询价中,2-询价审批中,3-询价审批通过 --> 47 <!-- 状态:1-询价中,2-询价审批中,3-询价审批通过 -->
48 - <div v-if="record.status == '1'"> 48 + <div v-if="record.status == '1'" v-has="'inquiry:add'">
49 <a @click="handleAdd(record)">询价</a> 49 <a @click="handleAdd(record)">询价</a>
50 <a-divider type="vertical" /> 50 <a-divider type="vertical" />
51 <!-- <a @click="handleSubmit(record)">提交</a> --> 51 <!-- <a @click="handleSubmit(record)">提交</a> -->
@@ -71,7 +71,6 @@ @@ -71,7 +71,6 @@
71 </a-menu> 71 </a-menu>
72 </a-dropdown> --> 72 </a-dropdown> -->
73 </span> 73 </span>
74 -  
75 </a-table> 74 </a-table>
76 75
77 <tbl-trade-inquiry-info-modal ref="modalForm" @ok="modalFormOk" ></tbl-trade-inquiry-info-modal> 76 <tbl-trade-inquiry-info-modal ref="modalForm" @ok="modalFormOk" ></tbl-trade-inquiry-info-modal>