Forráskód Böngészése

运营管理优化

pansl 1 éve
szülő
commit
6badb7c4d6

+ 18 - 4
src/views/pageLayout/channelPageManage/form/config.vue

@@ -6,9 +6,9 @@
     <el-form-item label="短剧" prop="duanjus" :rules="[{ required: true, message: '选择短剧' }]">
       <div>
         <div class="flex flex-wrap mb-5" v-if="formCallback.duanjus.length > 0">
-          <div v-for="item in formCallback.duanjus" :key="item.id" class="mt-3 mr-3">
-            <el-input type="number" :disabled="false" min="1" v-model.number="item.sort" placeholder="排序" size="default"
-              clearable style="width: 115px;"></el-input>
+          <div v-for="(item, index) in formCallback.duanjus" :key="item.id" class="mt-3 mr-3">
+            <el-input type="number" :disabled="false" min="1" v-model.number="sortValues[index]" placeholder="排序"
+              size="default" style="width: 115px;"></el-input>
             <el-input v-model="item.name" :disabled="true" placeholder="短剧名称" style="width:300px;"
               class="input-with-select">
             </el-input>
@@ -42,6 +42,7 @@ import { useRouter, useRoute } from 'vue-router'
 const props = defineProps({
   primary: Object,
 });
+const sortValues = ref([])
 const router = useRouter()
 const route = useRoute()
 const emit = defineEmits(['close']);
@@ -83,6 +84,9 @@ const validateData = () => {
 };
 const confirm = (e) => {
   formCallback.value.duanjus = e
+  if (formCallback.value.duanjus.length > 0) {
+    sortValues.value = formCallback.value.duanjus.map(el => el.sort)
+  }
   videoVisible.value = false
 }
 const chooseDel = (row: object, idx: number) => {
@@ -90,6 +94,13 @@ const chooseDel = (row: object, idx: number) => {
 }
 // 提交回传配置
 const submitForm = (formEl: FormInstance | undefined) => {
+  formCallback.value.duanjus = formCallback.value.duanjus.map((el, index) => {
+    return {
+      id: el.id,
+      sort: sortValues.value[index],
+      name: el.name
+    }
+  })
   console.log(formCallback.value, 'formCallbackformCallback');
   if (!formEl) return;
   if (!validateData()) return
@@ -112,7 +123,10 @@ const submitForm = (formEl: FormInstance | undefined) => {
 if (props.primary) {
   console.log(props.primary, 'props.primaryprops.primary');
   formCallback.value.id = props.primary.id
-  formCallback.value.duanjus = props.primary.duanjus
+  formCallback.value.duanjus = JSON.parse(JSON.stringify(props.primary.duanjus))
+  if (formCallback.value.duanjus.length > 0) {
+    sortValues.value = formCallback.value.duanjus.map(el => el.sort)
+  }
 }
 onMounted(() => {
 });

+ 1 - 1
src/views/pageLayout/channelPageManage/form/videoList.vue

@@ -10,7 +10,7 @@
         <el-form-item label="" class="font-bold">
           <div v-for="(item, index) in multipleSelection" :key="item.id" class="mb-3 mr-3">
             <el-input type="number" :disabled="false" min="1" v-model.number="sortValues[index]" placeholder="排序"
-              size="default" clearable style="width: 115px;"></el-input>
+              size="default" style="width: 115px;"></el-input>
             <el-input v-model="item.name" :disabled="true" placeholder="短剧名称" style="width:300px;"
               class="input-with-select">
             </el-input>

+ 18 - 4
src/views/pageLayout/homePageManage/form/config.vue

@@ -6,9 +6,9 @@
     <el-form-item label="短剧" prop="duanjus" :rules="[{ required: true, message: '选择短剧' }]">
       <div>
         <div class="flex flex-wrap mb-5" v-if="formCallback.duanjus.length > 0">
-          <div v-for="item in formCallback.duanjus" :key="item.id" class="mt-3 mr-3">
-            <el-input type="number" :disabled="false" min="1" v-model.number="item.sort" placeholder="排序" size="default"
-              clearable style="width: 115px;"></el-input>
+          <div v-for="(item, index) in formCallback.duanjus" :key="item.id" class="mt-3 mr-3">
+            <el-input type="number" :disabled="false" min="1" v-model.number="sortValues[index]" placeholder="排序"
+              size="default" style="width: 115px;"></el-input>
             <el-input v-model="item.name" :disabled="true" placeholder="短剧名称" style="width:300px;"
               class="input-with-select">
             </el-input>
@@ -42,6 +42,7 @@ import { useRouter, useRoute } from 'vue-router'
 const props = defineProps({
   primary: Object,
 });
+const sortValues = ref([])
 const router = useRouter()
 const route = useRoute()
 const emit = defineEmits(['close']);
@@ -83,6 +84,9 @@ const validateData = () => {
 };
 const confirm = (e) => {
   formCallback.value.duanjus = e
+  if (formCallback.value.duanjus.length > 0) {
+    sortValues.value = formCallback.value.duanjus.map(el => el.sort)
+  }
   videoVisible.value = false
 }
 const chooseDel = (row: object, idx: number) => {
@@ -91,6 +95,13 @@ const chooseDel = (row: object, idx: number) => {
 // 提交回传配置
 const submitForm = (formEl: FormInstance | undefined) => {
   console.log(formCallback.value, 'formCallbackformCallback');
+  formCallback.value.duanjus = formCallback.value.duanjus.map((el, index) => {
+    return {
+      id: el.id,
+      sort: sortValues.value[index],
+      name: el.name
+    }
+  })
   if (!formEl) return;
   if (!validateData()) return
   loading.value = true;
@@ -112,7 +123,10 @@ const submitForm = (formEl: FormInstance | undefined) => {
 if (props.primary) {
   console.log(props.primary, 'props.primaryprops.primary');
   formCallback.value.id = props.primary.id
-  formCallback.value.duanjus = props.primary.duanjus
+  formCallback.value.duanjus = JSON.parse(JSON.stringify(props.primary.duanjus))
+  if (formCallback.value.duanjus.length > 0) {
+    sortValues.value = formCallback.value.duanjus.map(el => el.sort)
+  }
 }
 onMounted(() => {
 });

+ 1 - 1
src/views/pageLayout/homePageManage/form/videoList.vue

@@ -10,7 +10,7 @@
         <el-form-item label="" class="font-bold">
           <div v-for="(item, index) in multipleSelection" :key="item.id" class="mb-3 mr-3">
             <el-input type="number" :disabled="false" min="1" v-model.number="sortValues[index]" placeholder="排序"
-              size="default" clearable style="width: 115px;"></el-input>
+              size="default" style="width: 115px;"></el-input>
             <el-input v-model="item.name" :disabled="true" placeholder="短剧名称" style="width:300px;"
               class="input-with-select">
             </el-input>

+ 1 - 1
src/views/pageLayout/viewpagerPageManage/form/create.vue

@@ -131,7 +131,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
 if (props.primary.id) {
   console.log(props.primary, 'props.primaryprops.primary');
   formCallback.value = JSON.parse(JSON.stringify(props.primary))
-  formCallback.value.duanjus = props.primary.videoInfo
+  formCallback.value.duanjus = JSON.parse(JSON.stringify(props.primary.videoInfo))
   formCallback.value.fileList = [{ uid: props.primary.id, url: props.primary.img_url }]
 } else {
   formCallback.value.fileList = []