|
@@ -17,7 +17,7 @@
|
|
|
<el-table-column prop="BuyEndTime" label="招采结束时间"></el-table-column>
|
|
|
<el-table-column prop="buyType" label="采购类型"></el-table-column>
|
|
|
<el-table-column prop="site" label="供货地点"></el-table-column>
|
|
|
- <el-table-column prop="0kFoodsTime" label="最晚到货时间"></el-table-column>
|
|
|
+ <el-table-column prop="okFoodsTime" label="最晚到货时间"></el-table-column>
|
|
|
</el-table>
|
|
|
<el-table :data="BasicDataComp_B"
|
|
|
:header-cell-style="{ fontWeight: 'bold', color: 'black', backgroundColor: '#f9f9f9', height: '50px', }"
|
|
@@ -84,8 +84,8 @@
|
|
|
<el-table-column prop="ResultUnit" label="中标单位"></el-table-column>
|
|
|
<el-table-column prop="ResultPrice" label="中标价格"></el-table-column>
|
|
|
<el-table-column prop="EntrustPerson" label="委托方"></el-table-column>
|
|
|
+ <el-table-column prop="PriceMin" label="价格下限"></el-table-column>
|
|
|
<el-table-column prop="PriceMax" label="价格上限"></el-table-column>
|
|
|
- <el-table-column prop="'PriceMin" label="价格下限"></el-table-column>
|
|
|
</el-table>
|
|
|
</el-row>
|
|
|
</el-aside>
|
|
@@ -117,7 +117,12 @@
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<el-col :span="9">
|
|
|
- <div class="CountDown">1:57</div>
|
|
|
+ <el-row class="CountDown">
|
|
|
+ <el-col>{{ CountdownMessage }}</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="ChatMes">
|
|
|
+ <el-col>预留聊天信息</el-col>
|
|
|
+ </el-row>
|
|
|
<el-row style="padding: 5px;" :gutter="15">
|
|
|
<el-col :span="18"><el-input v-model="message" placeholder="请输入消息"></el-input></el-col>
|
|
|
<el-col :span="6"><el-button type="primary">发送</el-button></el-col>
|
|
@@ -139,6 +144,8 @@
|
|
|
<el-table-column prop="OnePrice" label="第一轮报价"></el-table-column>
|
|
|
<el-table-column prop="TwoTime" label="第二轮竞价时间"></el-table-column>
|
|
|
<el-table-column prop="TwoPrice" label="第二轮报价"></el-table-column>
|
|
|
+ <el-table-column prop="ThirdTime" label="第三轮竞价时间"></el-table-column>
|
|
|
+ <el-table-column prop="ThirdPrice" label="第三轮报价"></el-table-column>
|
|
|
</el-table>
|
|
|
</el-row>
|
|
|
</el-main>
|
|
@@ -149,6 +156,88 @@
|
|
|
<script>
|
|
|
import { ref } from 'vue';
|
|
|
export default {
|
|
|
+ created() {
|
|
|
+ const dataStr = this.$route.query.data;
|
|
|
+ const data = JSON.parse(dataStr);
|
|
|
+
|
|
|
+ //处理时间
|
|
|
+ const dateTime = data[0].clickStartTime;
|
|
|
+ const date = new Date(dateTime);
|
|
|
+ // 转换为本地时间
|
|
|
+ const localDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000));
|
|
|
+ // 提取本地时间的日期部分
|
|
|
+ const datePart = localDate.toISOString().split('T')[0];
|
|
|
+ // 提取本地时间的时间部分
|
|
|
+ const timePart = localDate.toISOString().split('T')[1].split('.')[0];
|
|
|
+ const formattedTime = datePart + " " + timePart;
|
|
|
+
|
|
|
+ let foodRule = {
|
|
|
+ FoodRuleID: data[0].foodRuleID,
|
|
|
+ }
|
|
|
+ //调用方法找到规则
|
|
|
+ const FindRule = async () => {
|
|
|
+ http.post('/action/FoodRuleVO/queryRuleByID', foodRule).then(res => {
|
|
|
+ this.RuleData = [
|
|
|
+ {
|
|
|
+ RuleName: res[0].foodRuleName,
|
|
|
+ Round: res[0].totalRounds,
|
|
|
+ RoundTime: res[0].roundsTime,
|
|
|
+ GapTime: res[0].roundSpacingTime
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ //调用方法找到委托方
|
|
|
+ let ClientMes = {
|
|
|
+ ClientID: data[0].clientID,
|
|
|
+ }
|
|
|
+ const FindClient = async () => {
|
|
|
+ http.post('/action/Client/queryById', ClientMes).then(res => {
|
|
|
+ this.ResultData = [
|
|
|
+ {
|
|
|
+ EntrustPerson: res[0].clientName,
|
|
|
+ PriceMax: data[0].maxPrice,
|
|
|
+ PriceMin: data[0].minPrice
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ FindRule()
|
|
|
+ FindClient()
|
|
|
+
|
|
|
+ this.BasicDataComp_T = [
|
|
|
+ {
|
|
|
+ name: data[0].biddingMesName || '默认名称',
|
|
|
+ buyTotal: data[0].biddingAmount || 0,
|
|
|
+ unit: data[0].biddingUnit || '默认单位',
|
|
|
+ BuyStartTime: data[0].biddingStartTime || '默认时间'
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ this.BasicDataComp_M = [
|
|
|
+ {
|
|
|
+ BuyEndTime: data[0].biddingEndTime || '默认结束时间',
|
|
|
+ buyType: data[0].biddingType || '默认采购类型',
|
|
|
+ site: data[0].location || '默认供货地点',
|
|
|
+ okFoodsTime: data[0].endDeliverTime || '默认最晚到货时间'
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ this.BasicDataComp_B = [
|
|
|
+ {
|
|
|
+ MoneyType: data[0].invoiceType,
|
|
|
+ paymentTime: data[0].paymentTime,
|
|
|
+ createTime: data[0].biddingMesCreate,
|
|
|
+ createPerson: 'WX'
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ this.CompetitiveData = [
|
|
|
+ {
|
|
|
+ CDStartTime: formattedTime,
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ console.log(data)
|
|
|
+ },
|
|
|
setup() {
|
|
|
const message = ref('')
|
|
|
const QuotePrice = ref('')
|
|
@@ -159,14 +248,15 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+
|
|
|
BasicDataComp_T: [
|
|
|
- { name: 'test', buyTotal: 5000, unit: '吨', BuyStartTime: '2024-8-28' }
|
|
|
+ // { name: 'test', buyTotal: 5000, unit: '吨', BuyStartTime: '2024-8-28' }
|
|
|
],
|
|
|
BasicDataComp_M: [
|
|
|
- { BuyEndTime: '2024-8-21', buyType: '煤炭', site: '工大操场', OkFoodsTime: '2024-8-20' }
|
|
|
+ // { BuyEndTime: '2024-8-21', buyType: '煤炭', site: '工大操场', OkFoodsTime: '2024-8-20' }
|
|
|
],
|
|
|
BasicDataComp_B: [
|
|
|
- { MoneyType: '普通发票', paymentTime: '2024-8-21', createTime: '2024-8-20', createPerson: 'wx' }
|
|
|
+ // { MoneyType: '普通发票', paymentTime: '2024-8-21', biddingMesCreate: '2024-8-20', createPerson: 'wx' }
|
|
|
],
|
|
|
|
|
|
BuyTypeData: [
|
|
@@ -185,12 +275,66 @@ export default {
|
|
|
// {RuleName:'',Round:'',RoundTime:'',GapTime:''}
|
|
|
],
|
|
|
|
|
|
- ProcessData:[
|
|
|
+ ProcessData: [
|
|
|
// {Unit:'',OneTime:'',OnePrice:'',TwoTime:'',TwoPrice:'',}
|
|
|
- ]
|
|
|
+ ],
|
|
|
};
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import http from '@/utils/http';
|
|
|
+import { onBeforeUnmount, onMounted } from 'vue'
|
|
|
+let CountdownMessage = ref('')
|
|
|
+
|
|
|
+const websocket = ref(null)
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ if ('WebSocket' in window) {
|
|
|
+ websocket.value = new WebSocket('ws://localhost:9999/client/BiddingDetail/B005')
|
|
|
+
|
|
|
+ websocket.value.onerror = () => {
|
|
|
+ setMessageInnerHTML('error')
|
|
|
+ }
|
|
|
+
|
|
|
+ websocket.value.onopen = () => {
|
|
|
+ setMessageInnerHTML('open')
|
|
|
+ }
|
|
|
+
|
|
|
+ websocket.value.onmessage = (event) => {
|
|
|
+ setMessageInnerHTML(event.data)
|
|
|
+ }
|
|
|
+
|
|
|
+ websocket.value.onclose = () => {
|
|
|
+ setMessageInnerHTML('close')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ alert('Not support websocket')
|
|
|
}
|
|
|
+})
|
|
|
+
|
|
|
+onBeforeUnmount(() => {
|
|
|
+ if (websocket.value) {
|
|
|
+ websocket.value.close()
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+function setMessageInnerHTML(param) {
|
|
|
+ CountdownMessage.value = param
|
|
|
}
|
|
|
+
|
|
|
+// function closeWebSocket() {
|
|
|
+// if (websocket.value) {
|
|
|
+// console.log('关闭连接')
|
|
|
+// websocket.value.close()
|
|
|
+// }
|
|
|
+// }
|
|
|
+// function send() {
|
|
|
+// if (websocket.value && messageInput.value) {
|
|
|
+// websocket.value.send(messageInput.value)
|
|
|
+// }
|
|
|
+// }
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
@@ -238,9 +382,17 @@ span {
|
|
|
|
|
|
.CountDown {
|
|
|
padding: 10px;
|
|
|
- height: 70%;
|
|
|
+ height: 30%;
|
|
|
text-align: center;
|
|
|
color: red;
|
|
|
- font-size: 120px;
|
|
|
+ font-size: 90px;
|
|
|
+ max-width: 100px;
|
|
|
+ /* 设置最大宽度 */
|
|
|
+}
|
|
|
+
|
|
|
+.ChatMes {
|
|
|
+ margin-top: 15px;
|
|
|
+ padding: 10px;
|
|
|
+ height: 40%;
|
|
|
}
|
|
|
</style>
|