瀏覽代碼

feat: indent编辑报价.增加复制供应商名称按钮.

peter 6 天之前
父節點
當前提交
0842ae20f7
共有 2 個文件被更改,包括 40 次插入17 次删除
  1. 1 0
      package.json
  2. 39 17
      src/pages/indent-manage/indent/components/info.vue

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
     "@element-plus/icons-vue": "^2.1.0",
     "algoliasearch": "^4.23.3",
     "axios": "~0.27.2",
+    "clipboard": "^2.0.11",
     "dayjs": "^1.11.13",
     "element-plus": "2.9.11",
     "html2canvas": "^1.4.1",

+ 39 - 17
src/pages/indent-manage/indent/components/info.vue

@@ -53,23 +53,28 @@
                     prop="vendor_id"
                     :rules="{ required: true, validator: commonCheck }"
                   >
-                    <el-select
-                      v-model="item.vendor_id"
-                      :remote-method="($e: any) => queryVenderList($e, index)"
-                      filterable
-                      remote
-                      style="width: 100%"
-                      placeholder="请选择供应商"
-                      @change="($e) => changeVenderSelect($e, index)"
-                    >
-                      <!-- allow-create -->
-                      <el-option
-                        v-for="(option, subIndex) in vendorList[index]"
-                        :key="option.id || subIndex"
-                        :value="option.id"
-                        :label="option.name"
-                      ></el-option>
-                    </el-select>
+                    <div class="flex w-[100%] pr-3">
+                      <el-select
+                        v-model="item.vendor_id"
+                        :remote-method="($e: any) => queryVenderList($e, index)"
+                        filterable
+                        remote
+                        style="width: 100%"
+                        placeholder="请选择供应商"
+                        @change="($e) => changeVenderSelect($e, index)"
+                      >
+                        <!-- allow-create -->
+                        <el-option
+                          v-for="(option, subIndex) in vendorList[index]"
+                          :key="option.id || subIndex"
+                          :value="option.id"
+                          :label="option.name"
+                        ></el-option>
+                      </el-select>
+                      <el-button @click="copyValue(item.vendor_name, $event)">
+                        copy
+                      </el-button>
+                    </div>
                   </el-form-item>
                   <div
                     v-if="index < forms.length - 1"
@@ -1065,6 +1070,7 @@ import {
 import { CirclePlus, Close, CircleCloseFilled } from '@element-plus/icons-vue'
 import debounce from 'lodash.debounce'
 import cloneDeep from 'lodash.clonedeep'
+import Clipboard from 'clipboard'
 import { $t } from '@/i18n/index'
 import imageUpload from '@/components/ImageUpload.vue'
 // 用来对oss的图片、视频等媒体数据的url进行匹配替换
@@ -1554,6 +1560,22 @@ const close = (done = {} as any) => {
   $emit('update:visible', 0)
   if (typeof done === 'function') done()
 }
+const copyValue = (str: any, event: any) => {
+  console.log(str, 'str')
+  const clipboard = new Clipboard(event.target, {
+    text: () => str,
+  })
+  clipboard.on('success', () => {
+    ElMessage.success('复制成功!')
+    clipboard.destroy()
+  })
+  clipboard.on('error', () => {
+    ElMessage.error('复制失败,请手动复制')
+    clipboard.destroy()
+  })
+  // 触发实际复制
+  event.target.click()
+}
 </script>
 <style lang="scss">
 .component-edit-indent-info {