loki hace 3 años
padre
commit
8788df172b

+ 5 - 2
src/api/photoWarehouse/index.js

@@ -11,11 +11,14 @@ export const saveItem = params =>
 export const delItem = ({ id, ...params }) =>
 	api.del(`/yxl-back-end/admin/photo-warehouse/${id}`, params);
 export const auditItem = params =>
-  api.post(`/yxl-back-end/admin/photo-warehouse/audit`, params);
+	api.post(`/yxl-back-end/admin/photo-warehouse/audit`, params);
 export const auditMultiItem = ({ ...params }) =>
-  api.post(`/yxl-back-end/admin/photo-warehouse/audit/multi`, params);
+	api.post(`/yxl-back-end/admin/photo-warehouse/audit/multi`, params);
 export const updateItem = ({ id, ...params }) =>
 	api.put(`/yxl-back-end/admin/photo-warehouse/${id}`, params);
 
 export const multUpload = params =>
 	api.postData(`/yxl-back-end/admin/photo-warehouse/multupload`, params);
+
+export const fissonPhoto = params =>
+	api.post(`/yxl-back-end/admin/photo-warehouse/processing-by`, params);

+ 8 - 0
src/utils/dialog-helper.js

@@ -20,6 +20,7 @@ import PhotoMultUpload from 'views/photographerManagement/photoVerify/modal/Mult
 import AliOssMulti from 'views/photographerManagement/photoVerify/modal/ali-oss-multi.vue';
 import UpdateAppItem from 'views/baseManagement/updateList/modal/ItemModal.vue';
 import AccountRole from 'views/systemManagement/accountManagement/modal/RoleModal.vue';
+import MultFisson from 'views/photoManagement/photoVerifyManagement/modal/MultFissonModal.vue';
 
 const modal = (Component, props) => {
   let _component = null;
@@ -42,6 +43,13 @@ const modal = (Component, props) => {
   document.body.appendChild(_component.$el);
 };
 
+let MultFissonModal = data => {
+  modal(MultFisson, data);
+};
+Vue.prototype.$MultFissonModal = params => {
+  MultFissonModal(params);
+};
+
 let AccountRoleModal = data => {
   modal(AccountRole, data);
 };

+ 16 - 11
src/views/photoManagement/photoVerifyManagement/index.vue

@@ -10,7 +10,6 @@
       :page-change="pageChange"
     >
       <template v-slot:batch-btn-box="{ selected }">
-
         <!-- <el-col :span="1.5">
           <el-button
             type="success"
@@ -33,8 +32,16 @@
             >批量审核</el-button
           >
         </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            plain
+            size="mini"
+            @click="$MultFissonModal()"
+            >一键裂变</el-button
+          >
+        </el-col>
       </template>
-
     </base-table>
   </div>
 </template>
@@ -44,7 +51,7 @@ import toolbar from './toolbar';
 import mxFilterList from '@/mixins/filterList';
 import { getPage } from '@/api/photoWarehouse';
 
-const checkArr = (arr) => {
+const checkArr = arr => {
   if (Array.isArray(arr)) {
     if (arr.length === 0) {
       return 'null';
@@ -58,7 +65,6 @@ const checkArr = (arr) => {
   }
 };
 
-
 export default {
   name: 'photoVerifyManagement',
 
@@ -66,16 +72,15 @@ export default {
 
   filters: {
     // 单选可用
-    singleBatch: (arr) => {
+    singleBatch: arr => {
       return checkArr(arr) !== 'single';
     },
     // 非空可用
-    multipleBatch: (arr) => {
+    multipleBatch: arr => {
       return checkArr(arr) === 'null';
-    },
+    }
   },
 
-
   mixins: [
     mxFilterList({
       fetchList: getPage // 在下方data再声明一个 fetchList: iGetList 同等效果
@@ -86,9 +91,9 @@ export default {
     return {
       columns: [
         {
-          key: 'selection',
+          key: 'selection'
         },
-         {
+        {
           key: 'id',
           name: '标识',
           width: this.$col.b
@@ -218,7 +223,7 @@ export default {
     handleAudit(arr) {
       this.$PhotoVerifyMultItemModal({
         ids: arr.map(x => x.id)
-      })
+      });
     }
   }
 };

+ 81 - 0
src/views/photoManagement/photoVerifyManagement/modal/MultFissonModal.vue

@@ -0,0 +1,81 @@
+<template>
+  <el-dialog
+    :title="title"
+    :visible.sync="modal"
+    :close-on-click-modal="false"
+    width="600px"
+    @close="
+      res => {
+        $emit('cancel');
+      }
+    "
+  >
+    <el-form ref="form" :model="form" label-width="100px">
+      <el-form-item label="场景" prop="kindergartenId">
+        <SceneSelect v-model="form.kindergartenId" :clearable="false" />
+      </el-form-item>
+      <el-form-item label="活动">
+        <ActivitySelect v-model="form.activityId" :firstLoad="true" />
+      </el-form-item>
+
+      <el-row style="text-align: right;">
+        <el-button class="mt-40" size="small" type="primary" @click="saveData"
+          >确认</el-button
+        >
+      </el-row>
+    </el-form>
+  </el-dialog>
+</template>
+
+<script>
+import { fissonPhoto } from '@/api/photoWarehouse';
+
+export default {
+  name: 'MultFissonModal',
+  props: {},
+  data() {
+    return {
+      title: '批量一键裂变',
+      modal: true,
+
+      form: {
+        kindergartenId: null,
+        activityId: null
+      }
+    };
+  },
+  methods: {
+    async saveData(obj, name, size) {
+      const params = {
+        kindergartenId: this.form.kindergartenId,
+        activityId: this.form.activityId
+      };
+      console.log(params);
+      const { success, msg } = await fissonPhoto(params);
+
+      if (success) {
+        this.$success('裂变成功!');
+        this.modal = false;
+        this.$g_emit('photo_reload');
+      } else {
+        this.$error(msg);
+      }
+    },
+    close() {
+      this.modal = false;
+      this.$g_emit('photo_reload');
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped></style>
+
+<style>
+.el-upload {
+  width: 100%;
+}
+.el-upload-dragger {
+  width: 100%;
+}
+</style>