Kaynağa Gözat

成本部分修改

yuanrf 1 yıl önce
ebeveyn
işleme
b23cac1869
1 değiştirilmiş dosya ile 72 ekleme ve 49 silme
  1. 72 49
      src/components/Finance/Cost.vue

+ 72 - 49
src/components/Finance/Cost.vue

@@ -15,7 +15,8 @@
                             分段类型:
                         </div>
                         <el-select v-model="costTypevalue" placeholder="请选择" @change="costTypeSelect">
-                            <el-option v-for="item in costType" :key="item.value" :label="item.label" :value="item.value">
+                            <el-option v-for="item in costType" :key="item.value" :label="item.label"
+                                :value="item.value">
                             </el-option>
                         </el-select>
                     </div>
@@ -82,15 +83,16 @@
                                 <el-col :span="5">
                                     <div> <el-form-item label="第一段开始时间:" prop="costTypeStartTime">
                                             <el-date-picker v-model="AGroupCostParameter.costTypeStartTime" type="date"
-                                                placeholder="第一段开始时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                                                placeholder="第一段开始时间" format="yyyy 年 MM 月 dd 日"
+                                                value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
                                     </div>
                                 </el-col>
                                 <el-col :span="4">
                                     <div> <el-form-item label="结束时间:" prop="costTypeendTime"><el-date-picker
-                                                v-model="AGroupCostParameter.costTypeendTime" type="date" placeholder="结束时间"
-                                                format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                                                v-model="AGroupCostParameter.costTypeendTime" type="date"
+                                                placeholder="结束时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
                                     </div>
@@ -146,15 +148,16 @@
                                 <el-col :span="5">
                                     <div> <el-form-item label="第二段开始时间:" prop="costTypeStartTime">
                                             <el-date-picker v-model="BGroupCostParameter.costTypeStartTime" type="date"
-                                                placeholder="第二段开始时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                                                placeholder="第二段开始时间" format="yyyy 年 MM 月 dd 日"
+                                                value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
                                     </div>
                                 </el-col>
                                 <el-col :span="4">
                                     <div> <el-form-item label="结束时间:" prop="costTypeendTime"><el-date-picker
-                                                v-model="BGroupCostParameter.costTypeendTime" type="date" placeholder="结束时间"
-                                                format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                                                v-model="BGroupCostParameter.costTypeendTime" type="date"
+                                                placeholder="结束时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
                                     </div>
@@ -235,8 +238,8 @@
                 </div>
             </div>
             <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
-            <el-checkbox-group class="form-ss" v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues"
-                @change="TopChange">
+            <el-checkbox-group class="form-ss"
+                v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues" @change="TopChange">
                 <el-checkbox v-for="(  item, index  ) in    checkOptions  " :key="index" :title="item.tips"
                     :label="item.label" @change="(val) => { topcheckboxChange(val, item.label) }"></el-checkbox>
             </el-checkbox-group>
@@ -244,8 +247,8 @@
                 size="small" row-class-name="row" cell-class-name="column" :highlight-current-row="true" :fit="true"
                 :height="centerheight">
                 <template v-for="(  item, index  ) in      tableLabel     ">
-                    <el-table-column :key="index" :prop="item.prop" :width="item.width == 150 ? columnWidth : item.width"
-                        :label="item.label"
+                    <el-table-column :key="index" :prop="item.prop"
+                        :width="item.width == 150 ? columnWidth : item.width" :label="item.label"
                         v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
                         <!-- eslint-disable-next-line -->
                         <template slot="header" slot-scope="scope">
@@ -261,24 +264,31 @@
                                 <el-input :ref="'el-input-' + index" v-model="scope.row[item.prop]" show-word-limit />
                             </div>
                             <div v-else-if="item.prop === 'day'">
-                                <el-input :ref="'el-input-' + index" v-model="scope.row[item.prop]" type="number" min="0"
-                                    @change="NumberSetTime(scope.row[item.prop], scope.$index)" />
+                                <el-input :ref="'el-input-' + index" v-model="scope.row[item.prop]" type="number"
+                                    min="0" @change="NumberSetTime(scope.row[item.prop], scope.$index)" />
                             </div>
                             <div v-else-if="item.prop === 'date'">
-                                <span :title="scope.row[item.prop]"><el-input placeholder="请输入日期"
+                                <span :title="scope.row[item.prop]">
+                                    <!-- <el-input placeholder="请输入日期"
                                         v-model="scope.row[item.prop]"
                                         @change="dateChange(scope.row[item.prop], scope.$index)">
-                                    </el-input></span>
+                                    </el-input> -->
+                                    <el-date-picker v-model="scope.row[item.prop]" type="date" value-format="yyyy-MM-dd"
+                                        placeholder="选择日期">
+                                    </el-date-picker>
+                                </span>
                             </div>
                             <div v-else-if="item.prop === 'sale'">
                                 <el-row class="figures-btn">
                                     <el-button @click="handleEdit(scope.$index, scope.row, 1)" size="mini"
                                         type="primary">司兼导</el-button>
-                                    <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini" type="primary">导
+                                    <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini"
+                                        type="primary">导
                                         游</el-button>
                                     <el-button @click="handleEdit(scope.$index, scope.row, 3)" size="mini"
                                         type="primary">车数据</el-button>
-                                    <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini" type="primary">景
+                                    <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini"
+                                        type="primary">景
                                         点</el-button>
                                 </el-row>
                             </div>
@@ -334,7 +344,8 @@
                                                     <div v-else>
                                                         <!-- <el-input v-model="AGroupCostParameter[itemsheetone.prop]"
                                                             show-word-limit /> -->
-                                                        <el-input-number v-model="AGroupCostParameter[itemsheetone.prop]"
+                                                        <el-input-number
+                                                            v-model="AGroupCostParameter[itemsheetone.prop]"
                                                             @change="handleChange" :min="0" size="small"
                                                             :controls="false"></el-input-number>
                                                     </div>
@@ -420,7 +431,7 @@
                                 <div class="biaoge"
                                     v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
                                     <div style="    color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
-                                        cabinitem.label }}
+        cabinitem.label }}
                                     </div>
                                     <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
                                         <el-table-column
@@ -429,33 +440,34 @@
                                             <template slot-scope="scope">
                                                 <div v-if="itemcabinone.prop === 'toll'">
                                                     <el-input :ref="'el-input-' + index"
-                                                        v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
+                                                        v-model="scope.row[itemcabinone.prop]" show-word-limit
+                                                        disabled />
                                                 </div>
                                                 <span
                                                     v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        scope.row[itemcabinone.prop]
-                                                    }}</span>
+        scope.row[itemcabinone.prop]
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalCost'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
-                                                    }}</span>
+        (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalQuote'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
-                                                    }}</span>
+        (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'singleProfit'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
-                                                    }}</span>
+        ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalProfit'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        ((scope.row['singleQuote'] - scope.row['costPerson']) *
-                                                            scope.row['toll']).toFixed(2)
-                                                    }}</span>
+        ((scope.row['singleQuote'] - scope.row['costPerson']) *
+            scope.row['toll']).toFixed(2)
+    }}</span>
                                                 <span v-else :title="scope.row[itemcabinone.prop]">{{
-                                                    scope.row[itemcabinone.prop]
-                                                }}</span>
+        scope.row[itemcabinone.prop]
+    }}</span>
 
                                             </template>
                                         </el-table-column>
@@ -469,7 +481,7 @@
                                 <div class="biaogeB"
                                     v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
                                     <div style="    color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
-                                        cabinitem.label }}
+        cabinitem.label }}
                                     </div>
                                     <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
                                         <el-table-column
@@ -478,33 +490,34 @@
                                             <template slot-scope="scope">
                                                 <div v-if="itemcabinone.prop === 'toll'">
                                                     <el-input :ref="'el-input-' + index"
-                                                        v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
+                                                        v-model="scope.row[itemcabinone.prop]" show-word-limit
+                                                        disabled />
                                                 </div>
                                                 <span
                                                     v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        scope.row[itemcabinone.prop]
-                                                    }}</span>
+        scope.row[itemcabinone.prop]
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalCost'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
-                                                    }}</span>
+        (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalQuote'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
-                                                    }}</span>
+        (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'singleProfit'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
-                                                    }}</span>
+        (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
+    }}</span>
                                                 <span v-else-if="itemcabinone.prop === 'totalProfit'"
                                                     :title="scope.row[itemcabinone.prop]">{{
-                                                        ((scope.row['singleQuote'] - scope.row['costPerson']) *
-                                                            scope.row['toll']).toFixed(2)
+                                                    ((scope.row['singleQuote'] - scope.row['costPerson']) *
+                                                    scope.row['toll']).toFixed(2)
                                                     }}</span>
                                                 <span v-else :title="scope.row[itemcabinone.prop]">{{
                                                     scope.row[itemcabinone.prop]
-                                                }}</span>
+                                                    }}</span>
 
                                             </template>
                                         </el-table-column>
@@ -611,7 +624,7 @@ export default {
             ],
             tableLabel: [
                 { label: 'DAY', width: '90', prop: 'day', describe: '天数(DAY)' },
-                { label: 'DATE', width: '150', prop: 'date', describe: '时间(DATE)' },
+                { label: 'DATE', width: '180', prop: 'date', describe: '时间(DATE)' },
                 { label: 'ITIN', width: '200', prop: 'itin', describe: '行程描述(ITINERARY)' },
                 { label: 'VA', width: '85', prop: 'sale', describe: '车服务区域(Vehicle Area)' }, // ??????????????
                 { label: 'VT', width: '200', prop: 'carType', describe: '车型(VEHICLE TYPE)' },
@@ -2313,11 +2326,18 @@ export default {
             });
         },
         addStrip() {
+            var souerLength = this.tableData.length - 1;
+            var dataStr = "";
+            if (souerLength >= 0) {
+                dataStr = this.tableData[souerLength].date;
+                dataStr = this.addOneDay(dataStr, 1);
+            }
+
             this.tableData.push(
                 {
                     "diid": this.diid,
                     "day": "-",
-                    "date": "",
+                    "date": dataStr,
                     "itin": "",
                     "carType": "",
                     "carCost": 0,
@@ -3480,7 +3500,7 @@ export default {
             console.log(number, index, this.grouptitleinfo.visitStartDate);
             number = parseInt(number);
             if (!isNaN(number)) {
-                var time = this.addOneDay(this.grouptitleinfo.visitStartDate, number)
+                var time = this.addOneDay(this.grouptitleinfo.visitStartDate, number - 1)
                 this.tableData[index].date = time;
             } else {
                 this.tableData[index].date = '';
@@ -3488,6 +3508,9 @@ export default {
             }
         },
         addOneDay(dateString, number) {
+            if (!dateString) {
+                return "";
+            }
             let date = new Date(dateString);
             date.setDate(date.getDate() + number);
             let year = date.getFullYear();