Hwt 3 年 前
コミット
53b1457030

+ 152 - 143
operationSupport/src/views/patrolManagement/components/weekContent.vue

@@ -1,157 +1,166 @@
 <template >
-    <div class="scheduling-table-body">
-        <div class="weeb-body" v-for="(its, inx) in timeObjArr" :key="inx">
-            <template v-for="(item, index) in its">
-                <div
-                    class="task"
-                    :class="resultTime(keyValues(inx), item) ? 'disabled' : ''"
-                    v-if="intersectionDay(keyValues(inx), item, inx)"
-                    :key="index"
-                >
-                    <div class="task-content">
-                        <div class="task-content-title">{{ item.routeName }}</div>
-                        <div class="task-content-time">{{ item.times }}</div>
-                        <div class="task-set" v-if="matchingTime(keyValues(inx), item).isActive">
-                            <span @click="resultTime(keyValues(inx), item) ? null : addItem(keyValues(inx), item)">
-                                {{ matchingTime(keyValues(inx), item).partolName }}</span
-                            >
-                        </div>
-                        <div class="task-set" v-else-if="!resultTime(keyValues(inx), item)">
-                            <span @click="addItem(keyValues(inx), item)">设置</span>
-                        </div>
-                    </div>
-                </div>
-            </template>
+  <div class="scheduling-table-body">
+    <div
+      class="weeb-body"
+      v-for="(its, inx) in timeObjArr"
+      :key="inx"
+    >
+      <template v-for="(item, index) in its">
+        <div
+          class="task"
+          :class="resultTime(keyValues(inx), item) ? 'disabled' : ''"
+          v-if="intersectionDay(keyValues(inx), item, inx)"
+          :key="index"
+        >
+          <div class="task-content">
+            <div class="task-content-title">{{ item.routeName }}</div>
+            <div class="task-content-time">{{ item.times }}</div>
+            <div
+              class="task-set"
+              v-if="matchingTime(keyValues(inx), item).isActive"
+            >
+              <span @click="resultTime(keyValues(inx), item) ? null : addItem(keyValues(inx), item)">
+                {{ matchingTime(keyValues(inx), item).partolName }}</span>
+            </div>
+            <div
+              class="task-set"
+              v-else-if="!resultTime(keyValues(inx), item)"
+            >
+              <span @click="addItem(keyValues(inx), item)">设置</span>
+            </div>
+          </div>
         </div>
+      </template>
     </div>
+  </div>
 </template>
 <script>
 export default {
-    props: {
-        timeObj: {
-            type: Object,
-            default: () => {
-                return {
-                    monday: '',
-                    tuesday: '',
-                    wednesday: '',
-                    thursday: '',
-                    friday: '',
-                    saturday: '',
-                    sunday: ''
-                };
-            }
-        },
-        timeObjArr: {
-            type: Array,
-            default: () => {
-                return [[], [], [], [], [], [], []];
-            }
-        },
-        calendarData: {
-            type: Array,
-            default: () => []
-        },
-        findUser: {
-            type: Array,
-            default: () => []
-        }
+  props: {
+    timeObj: {
+      type: Object,
+      default: () => {
+        return {
+          monday: '',
+          tuesday: '',
+          wednesday: '',
+          thursday: '',
+          friday: '',
+          saturday: '',
+          sunday: ''
+        };
+      }
     },
-    data() {
-        return {};
+    timeObjArr: {
+      type: Array,
+      default: () => {
+        return [[], [], [], [], [], [], []];
+      }
     },
-    methods: {
-        addItem(itemTime, item) {
-            new Promise((resolve) => {
-                this.$store.dispatch('addPopup', {
-                    url: '/patrolManagement/popups/weekEditAdd.vue',
-                    width: '450px',
-                    height: '300px',
-                    props: {
-                        callback: resolve,
-                        findUser: this.findUser,
-                        dateDe: itemTime,
-                        item: item
-                    },
-                    title: '排班'
-                });
-            }).then(() => {
-                this.$emit('getList', {
-                    startTime: `${this.timeObj.monday} 00:00:00`,
-                    endTime: `${this.timeObj.sunday} 23:59:59`
-                });
-            });
-        },
-        //对比 现在时间 选择的时间至灰处理
-        resultTime(tis, item) {
-            let thisTime = this.$moment().format('YYYY-MM-DD') + ' 00:00:00';
-            let itemTime = this.$moment(tis + ' 00:00:00').format('YYYY-MM-DD HH:mm:ss');
-            return this.$moment(thisTime).valueOf() > this.$moment(itemTime).valueOf();
-        },
-        intersectionDay(tis, item, index) {
-            let startDate = this.$moment(item.startDate).format('YYYY-MM-DD HH:mm:ss');
-            let endDate = this.$moment(item.endDate).format('YYYY-MM-DD HH:mm:ss');
-            let thisDate = this.$moment(tis + ' 00:00:00').format('YYYY-MM-DD HH:mm:ss');
-            let vra = item.periodValue.split(',').sort();
-            //每周几
-            if (item.periodType == 1) {
-                return (
-                    this.$moment(startDate).valueOf() <= this.$moment(thisDate).valueOf() &&
-                    this.$moment(thisDate).valueOf() <= this.$moment(endDate).valueOf() &&
-                    vra.includes(vra[index])
-                );
-                //每隔几天
-            } else if (item.periodType == 2) {
-                let oneDay = 86400000;
-                // 第一天重合
-                if (this.$moment(thisDate).valueOf() - this.$moment(startDate).valueOf() == 0 || item.periodValue == 0) {
-                    return true;
-                } else {
-                    return (
-                        this.$moment(startDate).valueOf() <= this.$moment(thisDate).valueOf() &&
-                        this.$moment(thisDate).valueOf() <= this.$moment(endDate).valueOf() &&
-                        ((this.$moment(thisDate).valueOf() - this.$moment(startDate).valueOf()) / oneDay) %
-                            (Number(item.periodValue) + 1) ==
-                            0
-                    );
-                }
-            }
-        },
-        // 对比已设置内容
-        matchingTime(tis, item) {
-            let objs = {
-                isActive: false
-            };
-            this.calendarData.map((items) => {
-                if (tis == items.partrolDate) {
-                    items.rosterUserDtos.map((isv) => {
-                        if (isv.id == item.id && isv.partrolTime == item.times) {
-                            objs.isActive = true;
-                            Object.assign(objs, isv);
-                        }
-                    });
-                }
-            });
-            return objs;
-        },
-        keyValues(index) {
-            if (index == 0) {
-                return this.timeObj.monday;
-            } else if (index == 1) {
-                return this.timeObj.tuesday;
-            } else if (index == 2) {
-                return this.timeObj.wednesday;
-            } else if (index == 3) {
-                return this.timeObj.thursday;
-            } else if (index == 4) {
-                return this.timeObj.friday;
-            } else if (index == 5) {
-                return this.timeObj.saturday;
-            } else if (index == 6) {
-                return this.timeObj.sunday;
+    calendarData: {
+      type: Array,
+      default: () => []
+    },
+    findUser: {
+      type: Array,
+      default: () => []
+    }
+  },
+  data () {
+    return {};
+  },
+  methods: {
+    addItem (itemTime, item) {
+      new Promise((resolve) => {
+        this.$store.dispatch('addPopup', {
+          url: '/patrolManagement/popups/weekEditAdd.vue',
+          width: '450px',
+          height: '370px',
+          props: {
+            callback: resolve,
+            findUser: this.findUser,
+            dateDe: itemTime,
+            item: item
+          },
+          title: '排班'
+        });
+      }).then(() => {
+        this.$emit('getList', {
+          startTime: `${this.timeObj.monday} 00:00:00`,
+          endTime: `${this.timeObj.sunday} 23:59:59`
+        });
+      });
+    },
+    //对比 现在时间 选择的时间至灰处理
+    resultTime (tis, item) {
+      let thisTime = this.$moment().format('YYYY-MM-DD') + ' 00:00:00';
+      let itemTime = this.$moment(tis + ' 00:00:00').format('YYYY-MM-DD HH:mm:ss');
+      return this.$moment(thisTime).valueOf() > this.$moment(itemTime).valueOf();
+    },
+    intersectionDay (tis, item, index) {
+      let startDate = this.$moment(item.startDate).format('YYYY-MM-DD HH:mm:ss');
+      let endDate = this.$moment(item.endDate).format('YYYY-MM-DD HH:mm:ss');
+      let thisDate = this.$moment(tis + ' 00:00:00').format('YYYY-MM-DD HH:mm:ss');
+      let vra = item.periodValue.split(',').sort();
+      //每周几
+      if (item.periodType == 1) {
+        return (
+          this.$moment(startDate).valueOf() <= this.$moment(thisDate).valueOf() &&
+          this.$moment(thisDate).valueOf() <= this.$moment(endDate).valueOf() &&
+          vra.includes(vra[index])
+        );
+        //每隔几天
+      } else if (item.periodType == 2) {
+        let oneDay = 86400000;
+        // 第一天重合
+        if (this.$moment(thisDate).valueOf() - this.$moment(startDate).valueOf() == 0 || item.periodValue == 0) {
+          return true;
+        } else {
+          return (
+            this.$moment(startDate).valueOf() <= this.$moment(thisDate).valueOf() &&
+            this.$moment(thisDate).valueOf() <= this.$moment(endDate).valueOf() &&
+            ((this.$moment(thisDate).valueOf() - this.$moment(startDate).valueOf()) / oneDay) %
+            (Number(item.periodValue) + 1) ==
+            0
+          );
+        }
+      }
+    },
+    // 对比已设置内容
+    matchingTime (tis, item) {
+      let objs = {
+        isActive: false
+      };
+      this.calendarData.map((items) => {
+        if (tis == items.partrolDate) {
+          items.rosterUserDtos.map((isv) => {
+            if (isv.id == item.id && isv.partrolTime == item.times) {
+              objs.isActive = true;
+              Object.assign(objs, isv);
             }
+          });
         }
+      });
+      return objs;
+    },
+    keyValues (index) {
+      if (index == 0) {
+        return this.timeObj.monday;
+      } else if (index == 1) {
+        return this.timeObj.tuesday;
+      } else if (index == 2) {
+        return this.timeObj.wednesday;
+      } else if (index == 3) {
+        return this.timeObj.thursday;
+      } else if (index == 4) {
+        return this.timeObj.friday;
+      } else if (index == 5) {
+        return this.timeObj.saturday;
+      } else if (index == 6) {
+        return this.timeObj.sunday;
+      }
     }
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 19 - 2
operationSupport/src/views/patrolManagement/patrolRoute.vue

@@ -76,7 +76,7 @@
           slot="opt"
         >
           <div class="opt">
-            <el-tooltip
+            <!-- <el-tooltip
               effect="light"
               placement="bottom"
               content="排班"
@@ -85,6 +85,16 @@
                 class="zoniot_font zoniot-icon-shenhe"
                 @click="schedulingEdit(scope.row)"
               ></i>
+            </el-tooltip> -->
+            <el-tooltip
+              effect="light"
+              placement="bottom"
+              content="详情"
+            >
+              <i
+                class="zoniot_font zoniot-icon-xiangqing"
+                @click="details(scope.row)"
+              ></i>
             </el-tooltip>
             <el-tooltip
               effect="light"
@@ -107,6 +117,7 @@
     <add-patrol
       v-if="isLook === 'patrol'"
       @initPage="initPage"
+      :patrolDetail="patrolDetail"
     ></add-patrol>
     <week-edit-page
       v-if="isLook === 'weekEd'"
@@ -165,7 +176,8 @@ export default {
       ],
       findUser: [],
       thisObj: {},
-      mixins_post: 'post'
+      mixins_post: 'post',
+      patrolDetail: {}
     };
   },
   created () {
@@ -210,6 +222,11 @@ export default {
     add () {
       this.isLook = 'patrol';
     },
+    details (row) {
+      debugger
+      this.patrolDetail = row;
+      this.isLook = 'patrol';
+    },
     schedulingEdit (row) {
       this.thisObj = row;
       this.isLook = 'schedu';

+ 5 - 1
operationSupport/src/views/patrolManagement/popups/addPatrol.vue

@@ -232,6 +232,7 @@
 <script>
 import mapValue from './mapValue.vue';
 export default {
+  props: ['patrolDetail'],
   components: { mapValue },
   data () {
     return {
@@ -386,7 +387,10 @@ export default {
       }
     }
   },
-  created () { }
+  created () {
+    debugger;
+    this.patrolDetail;
+  }
 };
 </script>
 <style lang='scss' scoped>

+ 43 - 4
operationSupport/src/views/patrolManagement/popups/weekEditAdd.vue

@@ -5,7 +5,7 @@
     :rules="formRules"
     ref="formRu"
   >
-    <el-form-item label="巡更日期">{{ thisDay.day | dateText }}</el-form-item>
+    <el-form-item label="巡更日期2">{{ thisDay.day | dateText }}</el-form-item>
     <el-form-item
       :label="timePeriod.partrolTime"
       prop="partolUserId"
@@ -20,6 +20,42 @@
       >
       </el-cascader>
     </el-form-item>
+
+    <el-form-item
+      label="巡更类型"
+      prop="patrol"
+    >
+      <el-checkbox-group v-model="timePeriod.patrol">
+        <el-checkbox
+          label="市容市貌"
+          name="type"
+          value="1"
+        ></el-checkbox>
+
+        <el-checkbox
+          label="环境卫生"
+          name="type"
+          value="2"
+        ></el-checkbox>
+        <el-checkbox
+          label="消费安全"
+          name="type"
+          value="3"
+        ></el-checkbox>
+        <el-checkbox
+          label="公共秩序"
+          name="type"
+          value="4"
+        ></el-checkbox>
+        <el-checkbox
+          label="设备设施"
+          name="type"
+          value="5"
+        ></el-checkbox>
+
+      </el-checkbox-group>
+    </el-form-item>
+
   </el-form>
 </template>
 <script>
@@ -39,10 +75,12 @@ export default {
       timePeriod: {
         partolUserId: '',
         partolName: '',
-        partrolTime: ''
+        partrolTime: '',
+        patrol: []
       },
       formRules: {
-        partolUserId: [this.$valid.selectRequired('巡更人')]
+        partolUserId: [this.$valid.selectRequired('巡更人')],
+        patrol: [this.$valid.selectRequired('巡更类型')]
       }
     };
   },
@@ -119,7 +157,8 @@ export default {
     this.timePeriod = {
       partolName: '',
       partolUserId: '',
-      partrolTime: this.params.item.times
+      partrolTime: this.params.item.times,
+      patrol: [],
     };
   },
   mounted () { }

+ 3 - 3
operationSupport/src/views/payService/propertyFee/index.vue

@@ -204,7 +204,7 @@
                 v-if="$collectiontenant"
                 class="zoniot_font zoniot-icon-shoukuan"
                 @click="collections('single', scope.row)"
-                style="margin: 0"
+                style="margin-right: 12px;"
               ></i>
             </el-tooltip>
             <el-tooltip
@@ -219,7 +219,7 @@
                 src="../../../assets/img/icon_xiugaizhangdanjine.png"
                 alt=""
                 @click="editAmount(scope.row)"
-                style="margin: 0 10px;"
+                style="margin-right: 12px;"
               >
             </el-tooltip>
 
@@ -235,7 +235,7 @@
                 src="../../../assets/img/icon_xiugaiyingshoujine.png"
                 alt=""
                 @click="receivableAmount(scope.row)"
-                style="margin-right: 10px;"
+                style="margin-right: 12px;"
               >
             </el-tooltip>
 

+ 3 - 3
operationSupport/src/views/payService/systemSetup/index.vue

@@ -46,9 +46,9 @@ export default {
         {
           label: '闸控设置'
         },
-        //  {
-        //   label: '账单设置'
-        // }
+        {
+          label: '账单设置'
+        }
       ],
       activeIndex: 1
     };

+ 207 - 3
operationSupport/src/views/payService/systemSetup/stepPage/billingSettings.vue

@@ -2,10 +2,10 @@
   <div>
     <community-tree @organId="currentOrganId"></community-tree>
     <div class="content-right">
-      <div class="formContent-item_title">基础信息</div>
+      <div class="formContent-item_title">账单支付设置</div>
       <el-table
         :data="resDate"
-        style="width: 50%"
+        style="width: 50%; margin-bottom: 20px;"
         border
       >
         <el-table-column
@@ -99,6 +99,182 @@
 
         </el-table-column>
       </el-table>
+
+      <div class="formContent-item_title">账单提成设置</div>
+      <el-table
+        :data="bill"
+        style="width: 50%; margin-bottom: 20px;"
+        border
+      >
+        <el-table-column
+          label="被提成对象"
+          align="center"
+        >
+          <template slot-scope="scope">
+
+            <el-select
+              v-model="bill[scope.$index].commission"
+              placeholder="请选择"
+            >
+              <el-option
+                label="物业公司"
+                value="1"
+              >
+              </el-option>
+
+            </el-select>
+          </template>
+
+        </el-table-column>
+
+        <el-table-column
+          label="费用类型"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-select
+              v-model="bill[scope.$index].expenseType"
+              placeholder="请选择"
+            >
+
+              <el-option
+                label="物业费"
+                value="1"
+              >
+              </el-option>
+
+              <el-option
+                label="停车月卡"
+                value="2"
+              ></el-option>
+
+              <el-option
+                label="临停车费"
+                value="3"
+              ></el-option>
+
+            </el-select>
+          </template>
+
+        </el-table-column>
+
+        <el-table-column
+          label="平台提成方式"
+          align="center"
+        >
+          <template slot-scope="scope">
+
+            <el-select
+              v-model="bill[scope.$index].commissionPlatform"
+              placeholder="请选择"
+            >
+              <el-option
+                label="每笔交易按固定金额提成"
+                value="1"
+              >
+              </el-option>
+
+              <el-option
+                label="每笔交易按比例提成"
+                value="2"
+              >
+              </el-option>
+
+            </el-select>
+          </template>
+
+        </el-table-column>
+
+        <el-table-column
+          label="平台提成金额/比例"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <div v-if="bill[scope.$index].commissionPlatform == 1">
+              <el-input
+                v-model="bill[scope.$index].platformAmount"
+                placeholder="请输入"
+              >
+                <i
+                  slot="suffix"
+                  class="suffixclass"
+                >元</i>
+
+              </el-input>
+            </div>
+
+            <div v-if="bill[scope.$index].commissionPlatform == 2">
+              <el-input
+                v-model="bill[scope.$index].platformAmount"
+                placeholder="请输入"
+              >
+                <i
+                  slot="suffix"
+                  class="suffixclass"
+                >%</i>
+
+              </el-input>
+
+            </div>
+            <div v-if="bill[scope.$index].commissionPlatform == ''">
+              <el-input
+                v-model="bill[scope.$index].platformAmount"
+                placeholder="请输入"
+              >
+                <i
+                  slot="suffix"
+                  class="suffixclass"
+                >元</i>
+
+              </el-input>
+            </div>
+
+          </template>
+
+        </el-table-column>
+
+        <el-table-column
+          label="操作"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-tooltip
+              effect="light"
+              placement="bottom"
+              content="添加"
+              style="margin-right: 15px;"
+              v-if="(bill.length - 1) == scope.$index ? true : false"
+            >
+
+              <i
+                class="zoniot_font zoniot-icon-tianjia1"
+                @click="addBill"
+              ></i>
+            </el-tooltip>
+            <el-tooltip
+              effect="light"
+              placement="bottom"
+              content="删除"
+            >
+              <i
+                class="zoniot_font zoniot-icon-shanjian"
+                @click="deleteBill(scope.$index)"
+              ></i>
+            </el-tooltip>
+          </template>
+        </el-table-column>
+
+      </el-table>
+
+      <div class="formContent-item_title">物业公司收款商户号</div>
+      <span>微信商户号:</span>
+      <el-input
+        v-model="wxMerchant"
+        placeholder="请输入微信商户号"
+        clearable
+        style="width:25%"
+      ></el-input>
+
       <el-form>
         <el-form-item style="text-align: right">
           <el-button
@@ -131,6 +307,13 @@ export default {
           payee: ''
         }
       ],
+      bill: [{
+        commission: '',//提成对象
+        expenseType: '',//费用类型
+        commissionPlatform: '',//平台提成方式
+        platformAmount: '',//平台提成金额
+      }],
+      wxMerchant: '',
       customer: [
         {
           name: '住户',
@@ -174,6 +357,7 @@ export default {
   },
   methods: {
     currentOrganId (data) {
+
       this.currentId = data.id || '';
       // this.getData();
     },
@@ -184,14 +368,29 @@ export default {
         payee: ''
       })
     },
+    addBill () {
+
+      this.bill.push({
+        commission: '',//提成对象
+        expenseType: '',//费用类型
+        commissionPlatform: '',//平台提成方式
+        platformAmount: '',//平台提成金额
+      })
+    },
     deleteOne (row) {
       if (this.resDate.length != 1) {
         this.resDate.splice(row, 1);
         return;
       }
     },
+    deleteBill (row) {
+      if (this.bill.length != 1) {
+        this.bill.splice(row, 1);
+        return;
+      }
+    },
     submit () {
-      alert('成功')
+      this.$message.success('成功');
     }
   }
 }
@@ -213,4 +412,9 @@ export default {
         }
     }
 }
+
+.suffixclass {
+    position: relative;
+    top: 4px;
+}
 </style>