|
@@ -17,19 +17,33 @@
|
|
|
</view>
|
|
|
<!-- flex flex-space-between -->
|
|
|
<view class="item2">
|
|
|
- <u-button class="btn" text="驳回" @click="stop" v-if="dataObj.cargoOwnerStatus=='待接单'"></u-button>
|
|
|
- <u-button class="btn" text="接受" @click="stop" v-if="dataObj.cargoOwnerStatus=='待接单'"></u-button>
|
|
|
- <u-button class="btn" text="终止" @click="stop" v-if="dataObj.cargoOwnerStatus=='未装车'"></u-button>
|
|
|
- <u-button class="btn" text="签订合同" @click="stop" v-if="dataObj.cargoOwnerStatus=='待确认装车'"></u-button>
|
|
|
- <u-button class="btn" text="驳回装车信息" @click="stop" v-if="dataObj.cargoOwnerStatus=='待确认装车'"></u-button>
|
|
|
- <u-button class="btn" text="确认装车" @click="confirmLoading" v-if="dataObj.cargoOwnerStatus=='待确认装车'">
|
|
|
+
|
|
|
+ <u-button class="btn" text="驳回" @click="accept(2)" v-if="dataObj.cargoOwnerStatus=='待接单'">
|
|
|
+ </u-button>
|
|
|
+ <u-button class="btn" text="接受" @click="accept(1)" v-if="dataObj.cargoOwnerStatus=='待接单'">
|
|
|
+ </u-button>
|
|
|
+ <u-button class="btn" text="终止" @click="stop()" v-if="dataObj.cargoOwnerStatus=='未装车'">
|
|
|
+ </u-button>
|
|
|
+ <u-button class="btn" text="查看合同" @click="lookContract"></u-button>
|
|
|
+ <u-button class="btn" text="签订合同" @click="signContract"
|
|
|
+ v-if="dataObj.cargoOwnerStatus=='待确认装车'&&dataObj.cargoOwnerContract!='1'">
|
|
|
+ </u-button>
|
|
|
+
|
|
|
+ <u-button class="btn" text="驳回装车信息" @click="confirmLoading()" v-if="dataObj.cargoOwnerStatus=='待确认装车'">
|
|
|
+ </u-button>
|
|
|
+ <u-button class="btn" text="确认装车" @click="confirmLoading(3)"
|
|
|
+ v-if="dataObj.cargoOwnerStatus=='待确认装车'&&dataObj.cargoOwnerContract=='1'">
|
|
|
+ </u-button>
|
|
|
+ <u-button class="btn" text="驳回卸车信息" @click="confirmUnLoading" v-if="dataObj.cargoOwnerStatus=='待收货'">
|
|
|
</u-button>
|
|
|
- <u-button class="btn" text="驳回卸车信息" @click="stop" v-if="dataObj.cargoOwnerStatus=='待收货'"></u-button>
|
|
|
<u-button class="btn" text="确认卸车" @click="confirmUnLoading" v-if="dataObj.cargoOwnerStatus=='待收货'">
|
|
|
</u-button>
|
|
|
<u-button class="btn" text="付款" @click="closed"
|
|
|
v-if="dataObj.cargoOwnerStatus=='待结算'||dataObj.cargoOwnerStatus=='已结算'"></u-button>
|
|
|
<u-button class="btn" text="还款" @click="stop" v-if="dataObj.cargoOwnerStatus=='待还款'"></u-button>
|
|
|
+ <u-button class="btn" text="联系客服"
|
|
|
+ v-if="dataObj.cargoOwnerStatus!='待接单'&&dataObj.cargoOwnerStatus!='未装车'">
|
|
|
+ </u-button>
|
|
|
</view>
|
|
|
<view class="item3 flex flex-space-between align-center">
|
|
|
<view class="left flex align-center">
|
|
@@ -227,18 +241,49 @@
|
|
|
</u--textarea>
|
|
|
</u-modal>
|
|
|
<u-toast ref="uToast"></u-toast>
|
|
|
+ <!-- <view v-if="lookAlert" class="look-contract" @click="lookAlert==false">
|
|
|
+ <u-button class="btn" text="查看合同" @click="lookContract"></u-button>
|
|
|
+ <u-button class="btn" text="签名"></u-button>
|
|
|
+ <view class="wrapper">
|
|
|
+ <view class="handBtn">
|
|
|
+ <image @click="selectColorEvent('black','#1A1A1A')"
|
|
|
+ :src="selectColor === 'black' ? '/static/other/color_black_selected.png' : '/static/other/color_black.png'"
|
|
|
+ :class="[selectColor === 'black' ? 'color_select' : '', 'black-select']"></image>
|
|
|
+ <image @click="selectColorEvent('red','#ca262a')"
|
|
|
+ :src="selectColor === 'red' ? '/static/other/color_red_selected.png' : '/static/other/color_red.png'"
|
|
|
+ :class="[selectColor === 'red' ? 'color_select' : '', 'black-select']"></image>
|
|
|
+ <button @click="retDraw" class="delBtn">重写</button>
|
|
|
+ <button @click="saveCanvasAsImg" class="saveBtn">保存</button>
|
|
|
+ <button @click="previewCanvasImg" class="previewBtn">预览</button>
|
|
|
+ <button @click="subCanvas" class="subBtn">完成</button>
|
|
|
+ </view>
|
|
|
+ <view class="handCenter">
|
|
|
+ <canvas class="handWriting" :disable-scroll="true" @touchstart="uploadScaleStart"
|
|
|
+ @touchmove="uploadScaleMove" canvas-id="handWriting"></canvas>
|
|
|
+ </view>
|
|
|
+ <view class="handRight">
|
|
|
+ <view class="handTitle">请签名</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view> -->
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ var that;
|
|
|
+ import uploadImage from '@/components/ossutil/uploadFile.js';
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ type: null,
|
|
|
cyinfoStatus: '未装车',
|
|
|
src: 'https://cdn.uviewui.com/uview/album/1.jpg',
|
|
|
isShowTerminationReason: false,
|
|
|
id: "",
|
|
|
- dataObj: {},
|
|
|
+ dataObj: {
|
|
|
+ contractNo: '123'
|
|
|
+ },
|
|
|
+ type: null,
|
|
|
status1: false,
|
|
|
status2: false,
|
|
|
status3: false,
|
|
@@ -266,20 +311,81 @@
|
|
|
alertContent: "",
|
|
|
isShowAlert: false,
|
|
|
zcImgList: [],
|
|
|
- xcImgList: []
|
|
|
+ xcImgList: [],
|
|
|
+ contractSrc: '',
|
|
|
+ canvasName: 'handWriting',
|
|
|
+ ctx: '',
|
|
|
+ startX: null,
|
|
|
+ startY: null,
|
|
|
+ canvasWidth: 0,
|
|
|
+ canvasHeight: 0,
|
|
|
+ selectColor: 'black',
|
|
|
+ lineColor: '#1A1A1A', // 颜色
|
|
|
+ lineSize: 5, // 笔记倍数
|
|
|
}
|
|
|
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
+ that = this
|
|
|
this.id = options.id
|
|
|
+ // this.ctx = uni.createCanvasContext("handWriting");
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // uni.createSelectorQuery().select('.handCenter').boundingClientRect(rect => {
|
|
|
+ // this.canvasWidth = rect.width;
|
|
|
+ // this.canvasHeight = rect.height;
|
|
|
+ // /* 将canvas背景设置为 白底,不设置 导出的canvas的背景为透明 */
|
|
|
+ // this.setCanvasBg('#fff');
|
|
|
+ // })
|
|
|
+ // .exec();
|
|
|
+ // });
|
|
|
},
|
|
|
onShow() {
|
|
|
this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
+ lookContract() {
|
|
|
+ this.$request.baseRequest('get', '/orderInfo/setPdf', {}).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ debugger
|
|
|
+ this.contractSrc = res.data
|
|
|
+ uni.downloadFile({
|
|
|
+ url: res.data,
|
|
|
+ success: function(res) {
|
|
|
+ var filePath = res.tempFilePath;
|
|
|
+ uni.openDocument({
|
|
|
+ filePath: filePath,
|
|
|
+ showMenu: true,
|
|
|
+ success: function(res) {
|
|
|
+ console.log('打开文档成功');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // this.$refs.uToast.show({
|
|
|
+ // type: 'success',
|
|
|
+ // message: "提交成功",
|
|
|
+ // complete() {
|
|
|
+ // that.upCallback({
|
|
|
+ // size: 10,
|
|
|
+ // num: 1
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(res => {
|
|
|
+ uni.$u.toast(res.message);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ signContract() {
|
|
|
+ // this.lookAlert = true
|
|
|
+ uni.$u.route('/pages/order/signContract', this.dataObj);
|
|
|
+
|
|
|
+ },
|
|
|
// 完结
|
|
|
closed() {
|
|
|
- let item = this.dataDetails
|
|
|
+ let item = this.dataObj
|
|
|
let that = this
|
|
|
this.$request.baseRequest('post', '/orderInfo/api/editEnd', {
|
|
|
id: item.id,
|
|
@@ -302,55 +408,144 @@
|
|
|
uni.$u.toast(res.message);
|
|
|
});
|
|
|
},
|
|
|
- confirmLoading() {
|
|
|
- let item = this.dataDetails
|
|
|
- uni.$u.route('/pages/order/confirmLoading', item);
|
|
|
+ accept(type) {
|
|
|
+ this.type = type
|
|
|
+ if (type == 1) {
|
|
|
+ this.alertTitle = '确定接受订单?'
|
|
|
+ this.confirmText = '确定'
|
|
|
+ } else if (type == 2) {
|
|
|
+ this.alertTitle = '确定拒绝订单?'
|
|
|
+ this.confirmText = '确定'
|
|
|
+ } else {
|
|
|
+ this.alertTitle = '确定终止订单?'
|
|
|
+ this.confirmText = '终止'
|
|
|
+ }
|
|
|
+ this.isShowAlert = true
|
|
|
+ },
|
|
|
+ confirmLoading(type) {
|
|
|
+ debugger
|
|
|
+ this.type = type
|
|
|
+ if (type == 3) {
|
|
|
+ this.alertTitle = '确认装车?'
|
|
|
+ this.confirmText = '确定'
|
|
|
+ } else if (type == 4) {
|
|
|
+ this.alertTitle = '确认卸车?'
|
|
|
+ this.confirmText = '确定'
|
|
|
+ }
|
|
|
+ this.isShowAlert = true
|
|
|
+ // uni.$u.route('/pages/order/confirmLoading', item);
|
|
|
},
|
|
|
confirmUnLoading() {
|
|
|
- let item = this.dataDetails
|
|
|
+ let item = this.dataObj
|
|
|
uni.$u.route('/pages/order/confirmUnloading', item);
|
|
|
},
|
|
|
confirmClick() {
|
|
|
- let that = this
|
|
|
- console.log('终止')
|
|
|
- if (this.radiovalue1 == '其他' && !this.value2) {
|
|
|
- this.$refs.uToast.show({
|
|
|
- type: 'error',
|
|
|
- message: "请填写终止原因描述!",
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- let _terminationReason = ''
|
|
|
- if (this.radiovalue1 == '已与货主协商') {
|
|
|
- _terminationReason = 1
|
|
|
- } else if (this.radiovalue1 == '货主原因终止') {
|
|
|
- _terminationReason = 2
|
|
|
- } else if (this.radiovalue1 == '司机个人原因终止') {
|
|
|
- _terminationReason = 3
|
|
|
- } else if (this.radiovalue1 == '其他') {
|
|
|
- _terminationReason = 4
|
|
|
- }
|
|
|
- this.$request.baseRequest('post', '/orderInfo/api/end', {
|
|
|
- id: this.id,
|
|
|
- terminationReason: _terminationReason,
|
|
|
- terminationReasonDescription: this.value2,
|
|
|
- terminator: 1
|
|
|
- }).then(res => {
|
|
|
- console.log(res)
|
|
|
- this.isShowAlert = false
|
|
|
- // this.mescroll.resetUpScroll()
|
|
|
- this.$refs.uToast.show({
|
|
|
- type: 'success',
|
|
|
- message: "提交成功!",
|
|
|
- complete() {
|
|
|
- that.getList()
|
|
|
+ debugger
|
|
|
+ that.isShowAlert = false
|
|
|
+ if (this.type == 1 || this.type == 2) {
|
|
|
+ let _title = ''
|
|
|
+ this.$request.baseRequest('post', '/orderInfo/api/orderReceiving', {
|
|
|
+ id: this.dataObj.id,
|
|
|
+ flag: this.type
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ if (this.type == 1) {
|
|
|
+ _title = '接单成功'
|
|
|
+ } else {
|
|
|
+ _title = '拒绝接单成功'
|
|
|
+ }
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: _title,
|
|
|
+ complete() {
|
|
|
+ that.mescroll.resetUpScroll()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ if (this.type == 1) {
|
|
|
+ _title = '接单失败'
|
|
|
+ } else {
|
|
|
+ _title = '拒绝接单失败'
|
|
|
+ }
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: _title,
|
|
|
+ complete() {
|
|
|
+ that.mescroll.resetUpScroll()
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
+ .catch(res => {
|
|
|
+ uni.$u.toast(res.message);
|
|
|
+ });
|
|
|
+ } else if (this.type == 3 || this.type == 4) {
|
|
|
+ debugger
|
|
|
+ let _flag = ''
|
|
|
+ if (this.type == 3) _flag = 1
|
|
|
+ if (this.type == 4) _flag = 2
|
|
|
+ this.$request.baseRequest('post', '/carrierInfo/cargoOwnerLoadingAdd', {
|
|
|
+ id: this.dataObj.id,
|
|
|
+ loadingFlag: _flag,
|
|
|
+ flag: 1
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: "提交成功",
|
|
|
+ complete() {
|
|
|
+ this.getList()
|
|
|
+ // that.upCallback({
|
|
|
+ // size: 10,
|
|
|
+ // num: 1
|
|
|
+ // })
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
- })
|
|
|
- .catch(res => {
|
|
|
- uni.$u.toast(res.message);
|
|
|
- });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(res => {
|
|
|
+ uni.$u.toast(res.message);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ if (this.radiovalue1 == '其他' && !this.value2) {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'error',
|
|
|
+ message: "请填写终止原因描述!",
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let _terminationReason = ''
|
|
|
+ if (this.radiovalue1 == '已与货主协商') {
|
|
|
+ _terminationReason = 1
|
|
|
+ } else if (this.radiovalue1 == '货主原因终止') {
|
|
|
+ _terminationReason = 2
|
|
|
+ } else if (this.radiovalue1 == '司机个人原因终止') {
|
|
|
+ _terminationReason = 3
|
|
|
+ } else if (this.radiovalue1 == '其他') {
|
|
|
+ _terminationReason = 4
|
|
|
+ }
|
|
|
+ this.$request.baseRequest('post', '/orderInfo/api/end', {
|
|
|
+ id: this.id,
|
|
|
+ terminator: 2,
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: '终止订单成功',
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: '终止订单失败',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ that.mescroll.resetUpScroll()
|
|
|
+ })
|
|
|
+ .catch(res => {
|
|
|
+ uni.$u.toast(res.message);
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
cancelClick() {
|
|
|
this.isShowAlert = false
|
|
@@ -400,14 +595,17 @@
|
|
|
this.status3 = true
|
|
|
}
|
|
|
if (res.data.carrierInfo) {
|
|
|
-
|
|
|
- let _zcList = res.data.carrierInfo.loadingImg.split(',')
|
|
|
- let _xcList = res.data.carrierInfo.unloadingImg.split(',')
|
|
|
- for (let i = 0; i < _zcList.length; i++) {
|
|
|
- if (_zcList[i]) this.zcImgList.push(_zcList[i])
|
|
|
+ if (res.data.carrierInfo.loadingImg) {
|
|
|
+ let _zcList = res.data.carrierInfo.loadingImg.split(',')
|
|
|
+ for (let i = 0; i < _zcList.length; i++) {
|
|
|
+ if (_zcList[i]) this.zcImgList.push(_zcList[i])
|
|
|
+ }
|
|
|
}
|
|
|
- for (let i = 0; i < _xcList.length; i++) {
|
|
|
- if (_xcList[i]) this.xcImgList.push(_xcList[i])
|
|
|
+ if (res.data.carrierInfo.unloadingImg) {
|
|
|
+ let _xcList = res.data.carrierInfo.unloadingImg.split(',')
|
|
|
+ for (let i = 0; i < _xcList.length; i++) {
|
|
|
+ if (_xcList[i]) this.xcImgList.push(_xcList[i])
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -485,6 +683,7 @@
|
|
|
|
|
|
.btn {
|
|
|
width: 40%;
|
|
|
+ margin-top: 20rpx;
|
|
|
}
|
|
|
|
|
|
.item2 {
|
|
@@ -611,4 +810,157 @@
|
|
|
/deep/.u-modal__content {
|
|
|
flex-direction: column;
|
|
|
}
|
|
|
+
|
|
|
+ .look-contract {
|
|
|
+ padding-top: 1000rpx;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ margin: auto;
|
|
|
+ background: #0000005e;
|
|
|
+ width: 100%;
|
|
|
+ height: 100vh;
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ width: 70%;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .wrapper {
|
|
|
+ width: 100%;
|
|
|
+ height: 95vh;
|
|
|
+ margin: 30rpx 0;
|
|
|
+ overflow: hidden;
|
|
|
+ display: flex;
|
|
|
+ align-content: center;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handWriting {
|
|
|
+ background: #fff;
|
|
|
+ width: 100%;
|
|
|
+ height: 95vh;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handRight {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handCenter {
|
|
|
+ border: 4rpx dashed #e9e9e9;
|
|
|
+ flex: 5;
|
|
|
+ overflow: hidden;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handTitle {
|
|
|
+ transform: rotate(90deg);
|
|
|
+ flex: 1;
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handBtn button {
|
|
|
+ font-size: 28rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .handBtn {
|
|
|
+ height: 95vh;
|
|
|
+ display: inline-flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-content: space-between;
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .delBtn {
|
|
|
+ position: absolute;
|
|
|
+ top: 250rpx;
|
|
|
+ left: 0rpx;
|
|
|
+ transform: rotate(90deg);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .delBtn image {
|
|
|
+ position: absolute;
|
|
|
+ top: 13rpx;
|
|
|
+ left: 25rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .subBtn {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 52rpx;
|
|
|
+ left: -3rpx;
|
|
|
+ display: inline-flex;
|
|
|
+ transform: rotate(90deg);
|
|
|
+ background: #008ef6;
|
|
|
+ color: #fff;
|
|
|
+ margin-bottom: 30rpx;
|
|
|
+ text-align: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*Peach - 新增 - 保存*/
|
|
|
+
|
|
|
+ .saveBtn {
|
|
|
+ position: absolute;
|
|
|
+ top: 375rpx;
|
|
|
+ left: 0rpx;
|
|
|
+ transform: rotate(90deg);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .previewBtn {
|
|
|
+ position: absolute;
|
|
|
+ top: 500rpx;
|
|
|
+ left: 0rpx;
|
|
|
+ transform: rotate(90deg);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .uploadBtn {
|
|
|
+ position: absolute;
|
|
|
+ top: 625rpx;
|
|
|
+ left: 0rpx;
|
|
|
+ transform: rotate(90deg);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*Peach - 新增 - 保存*/
|
|
|
+
|
|
|
+ .black-select {
|
|
|
+ width: 60rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ position: absolute;
|
|
|
+ top: 30rpx;
|
|
|
+ left: 25rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .black-select.color_select {
|
|
|
+ width: 90rpx;
|
|
|
+ height: 90rpx;
|
|
|
+ top: 100rpx;
|
|
|
+ left: 10rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .red-select {
|
|
|
+ width: 60rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ position: absolute;
|
|
|
+ top: 140rpx;
|
|
|
+ left: 25rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .red-select.color_select {
|
|
|
+ width: 90rpx;
|
|
|
+ height: 90rpx;
|
|
|
+ top: 120rpx;
|
|
|
+ left: 10rpx;
|
|
|
+ }
|
|
|
</style>
|